Provider ID: CalabazaBoard; schema: calabazaboard.ipc; version: 1.
Discover support:
{"schema":"calabazaboard.ipc","version":1,"action":"capabilities"}Publish placeholders for one player or globally with player_id: "*":
{"schema":"calabazaboard.ipc","version":1,"action":"publish","player_id":"player-uuid","values":{"active_quest":"Mine 64 stone","quest_progress":"12/64"}}Clear selected keys or omit keys to clear the scope:
{"schema":"calabazaboard.ipc","version":1,"action":"clear","player_id":"player-uuid","keys":["active_quest","quest_progress"]}Publishers must appear in security.allowed_publishers; "*" allows every installed plugin. Values are cached and rendered during the scheduled refresh, so IPC calls never manipulate scoreboards inside the publisher's callback.
For pull-based integration, add a [[providers]] entry. Board sends the configured schema/action/player field and maps scalar response fields into placeholders once per player per refresh.