Overview
Trix emits events when resources change in your account. Subscribe to specific event types to receive real-time notifications via webhooks.
Current emit coverage. As of 2026-04-16 the API routes fire webhooks for:
memory events (memory.created / updated / deleted / restored / verified plus
the four memory.bulk_* variants), relationship.{created, updated, deleted}, cluster.{created, updated, deleted, memory_added, memory_removed}, space.{created, updated, deleted}, plus non-memory events
(hub.member.*, conversation.member.*, request.*, node.terminal.closed).
memory.accessed is the only event in this page still reserved — the hot-path
volume + access-pattern leak risk make it an explicit non-goal for now
(ADR-146, Option C).
Event Payload Structure
All events follow this structure:
{
"id": "evt_abc123",
"event": "memory.created",
"created_at": "2024-01-15T10:30:00Z",
"account_id": "acc_xyz",
"space_id": "spc_123",
"data": { ... },
"metadata": { ... }
}Memory Events
memory.created
Triggered when a new memory is created.
{
"id": "evt_abc123",
"event": "memory.created",
"created_at": "2024-01-15T10:30:00Z",
"account_id": "acc_xyz",
"space_id": "spc_123",
"data": {
"id": "mem_456",
"content": "User prefers dark mode and compact layouts",
"type": "text",
"space_id": "spc_123",
"tags": ["preference", "ui"],
"priority": 1,
"metadata": {
"source": "api",
"session_id": "sess_789"
},
"created_at": "2024-01-15T10:30:00Z"
}
}memory.updated
Triggered when a memory's content or metadata is modified.
{
"id": "evt_def456",
"event": "memory.updated",
"created_at": "2024-01-15T11:00:00Z",
"account_id": "acc_xyz",
"space_id": "spc_123",
"data": {
"id": "mem_456",
"content": "User prefers dark mode with high contrast",
"type": "text",
"space_id": "spc_123",
"tags": ["preference", "ui", "accessibility"],
"priority": 1,
"updated_at": "2024-01-15T11:00:00Z"
}
}memory.deleted
Triggered when a memory is deleted.
{
"id": "evt_ghi789",
"event": "memory.deleted",
"created_at": "2024-01-15T12:00:00Z",
"account_id": "acc_xyz",
"space_id": "spc_123",
"data": {
"id": "mem_456",
"deleted_at": "2024-01-15T12:00:00Z"
}
}memory.accessed (planned)
Will trigger when a memory is read or retrieved. Not emitted yet.
{
"id": "evt_jkl012",
"event": "memory.accessed",
"created_at": "2024-01-15T13:00:00Z",
"account_id": "acc_xyz",
"space_id": "spc_123",
"data": {
"id": "mem_456",
"access_type": "search",
"session_id": "sess_999",
"accessed_at": "2024-01-15T13:00:00Z"
}
}Relationship Events
relationship.created
Triggered when a relationship between memories is created.
{
"id": "evt_rel001",
"event": "relationship.created",
"created_at": "2024-01-15T14:00:00Z",
"account_id": "acc_xyz",
"data": {
"id": "rel_123",
"source_memory_id": "mem_001",
"target_memory_id": "mem_002",
"relationship_type": "supports",
"weight": 0.85,
"metadata": {
"reason": "Both discuss user preferences"
},
"created_at": "2024-01-15T14:00:00Z"
}
}relationship.updated
Triggered when a relationship is modified.
{
"id": "evt_rel002",
"event": "relationship.updated",
"created_at": "2024-01-15T14:30:00Z",
"account_id": "acc_xyz",
"data": {
"id": "rel_123",
"source_memory_id": "mem_001",
"target_memory_id": "mem_002",
"relationship_type": "supports",
"weight": 0.95,
"updated_at": "2024-01-15T14:30:00Z"
}
}relationship.deleted
Triggered when a relationship is removed.
{
"id": "evt_rel003",
"event": "relationship.deleted",
"created_at": "2024-01-15T15:00:00Z",
"account_id": "acc_xyz",
"data": {
"id": "rel_123",
"source_memory_id": "mem_001",
"target_memory_id": "mem_002",
"deleted_at": "2024-01-15T15:00:00Z"
}
}Cluster Events
cluster.created
Triggered when a new cluster is created.
{
"id": "evt_clu001",
"event": "cluster.created",
"created_at": "2024-01-15T16:00:00Z",
"account_id": "acc_xyz",
"space_id": "spc_123",
"data": {
"id": "clu_789",
"name": "User Preferences",
"description": "All memories about user settings and preferences",
"color": "#4F46E5",
"space_id": "spc_123",
"memory_count": 0,
"created_at": "2024-01-15T16:00:00Z"
}
}cluster.updated
Triggered when a cluster's metadata is modified.
{
"id": "evt_clu002",
"event": "cluster.updated",
"created_at": "2024-01-15T16:30:00Z",
"account_id": "acc_xyz",
"space_id": "spc_123",
"data": {
"id": "clu_789",
"name": "User Preferences & Settings",
"description": "Updated description",
"color": "#7C3AED",
"updated_at": "2024-01-15T16:30:00Z"
}
}cluster.deleted
Triggered when a cluster is deleted.
{
"id": "evt_clu003",
"event": "cluster.deleted",
"created_at": "2024-01-15T17:00:00Z",
"account_id": "acc_xyz",
"space_id": "spc_123",
"data": {
"id": "clu_789",
"deleted_at": "2024-01-15T17:00:00Z"
}
}cluster.memory_added
Triggered when a memory is added to a cluster.
{
"id": "evt_clu004",
"event": "cluster.memory_added",
"created_at": "2024-01-15T17:30:00Z",
"account_id": "acc_xyz",
"space_id": "spc_123",
"data": {
"cluster_id": "clu_789",
"memory_id": "mem_456",
"added_at": "2024-01-15T17:30:00Z"
}
}cluster.memory_removed
Triggered when a memory is removed from a cluster.
{
"id": "evt_clu005",
"event": "cluster.memory_removed",
"created_at": "2024-01-15T18:00:00Z",
"account_id": "acc_xyz",
"space_id": "spc_123",
"data": {
"cluster_id": "clu_789",
"memory_id": "mem_456",
"removed_at": "2024-01-15T18:00:00Z"
}
}Space Events
space.created
Triggered when a new space is created.
{
"id": "evt_spc001",
"event": "space.created",
"created_at": "2024-01-15T19:00:00Z",
"account_id": "acc_xyz",
"data": {
"id": "spc_new",
"name": "Project Alpha",
"description": "Memories for Project Alpha",
"is_default": false,
"created_at": "2024-01-15T19:00:00Z"
}
}space.updated
Triggered when a space's metadata is modified.
{
"id": "evt_spc002",
"event": "space.updated",
"created_at": "2024-01-15T19:30:00Z",
"account_id": "acc_xyz",
"data": {
"id": "spc_new",
"name": "Project Alpha - Phase 2",
"description": "Updated for phase 2",
"updated_at": "2024-01-15T19:30:00Z"
}
}space.deleted
Triggered when a space is deleted.
{
"id": "evt_spc003",
"event": "space.deleted",
"created_at": "2024-01-15T20:00:00Z",
"account_id": "acc_xyz",
"data": {
"id": "spc_old",
"deleted_at": "2024-01-15T20:00:00Z"
}
}Audio Events
audio.uploaded
Triggered when an audio file is uploaded for processing.
{
"id": "evt_aud001",
"event": "audio.uploaded",
"created_at": "2024-01-15T21:00:00Z",
"account_id": "acc_xyz",
"space_id": "spc_123",
"data": {
"id": "aud_123",
"filename": "meeting-recording.mp3",
"size_bytes": 15728640,
"duration_seconds": 1847,
"mime_type": "audio/mpeg",
"status": "processing",
"uploaded_at": "2024-01-15T21:00:00Z"
}
}audio.transcribed
Triggered when audio transcription is complete.
{
"id": "evt_aud002",
"event": "audio.transcribed",
"created_at": "2024-01-15T21:05:00Z",
"account_id": "acc_xyz",
"space_id": "spc_123",
"data": {
"id": "aud_123",
"memory_id": "mem_aud123",
"filename": "meeting-recording.mp3",
"duration_seconds": 1847,
"transcript_length": 12450,
"language": "en",
"confidence": 0.94,
"completed_at": "2024-01-15T21:05:00Z"
}
}Feedback Events
feedback.submitted
Triggered when feedback is submitted for a memory or search result.
{
"id": "evt_fbk001",
"event": "feedback.submitted",
"created_at": "2024-01-15T22:00:00Z",
"account_id": "acc_xyz",
"data": {
"id": "fbk_123",
"memory_id": "mem_456",
"feedback_type": "relevance",
"rating": 5,
"comment": "Very helpful memory",
"submitted_at": "2024-01-15T22:00:00Z"
}
}Test Event
webhook.test
Sent when you use the "Test Webhook" feature. Use this to verify your endpoint.
{
"id": "evt_test_001",
"event": "webhook.test",
"created_at": "2024-01-15T10:00:00Z",
"account_id": "acc_xyz",
"data": {
"webhook_id": "whk_123",
"message": "This is a test event",
"test": true
}
}Test events are not retried and don't count toward your event quota.
Subscribing to Events
When creating a webhook, specify which events to receive:
{
"name": "My Webhook",
"url": "https://your-server.com/webhook",
"events": [
"memory.created",
"memory.updated",
"cluster.memory_added"
]
}Subscribe to All Events
Use the wildcard pattern to receive all events:
{
"name": "All Events Webhook",
"url": "https://your-server.com/webhook",
"events": ["*"]
}Subscribing to all events can generate high volume. Consider using specific events for production.