Skip to content

Event Model

Events capture every action Otso takes.

  • import – data pulled from a source.
  • publish – sent to external services.
  • enrich – tags, alt-text, or other processing.
{
"id": "uuid",
"kind": "note",
"created_at": "2024-01-01T00:00:00Z",
"content": {},
"visibility": "public",
"before": {},
"after": {}
}

before and after allow reversible operations like updates.

  • Use before/after only when an action changes data.
  • Keep content small; large blobs should live in media tables.
  • Prefer new events over mutation when possible.