SilverBullet relies on JSON Schema for various types of validation, specifically:

Often these schemas are encoded using Space Lua, so take the shape of:

local schema = {
  type = "object",
  properties = {
    -- ...
  }
}

There are is the ^Library/Std/APIs/Schema API for convenience.