/api/story-bridge
4 routes under /api/story-bridge.
Cockpit server REST reference, next.
All routes sit below the Cockpit server's session gate (app.use('/api', auth.requireSession)) except /api/health. Generated from the real route table in ui/server/src.
POST /api/story-bridge/preview#
Source: ui/server/src/storyBridgeApi.mjs.
POST /api/story-bridge/save#
Source: ui/server/src/storyBridgeApi.mjs.
POST /api/story-bridge/values-preview#
same preview/save shape as above, for a verified AI-extracted values result instead of parse selectors (design 9.6, "extraction on every use"). values here has already passed storyVerifyExtraction.mjs's quoted-text check by the time it reaches here; this router only diffs and writes it, the same way it never re-runs the selector engine for /preview and /save above.
Source: ui/server/src/storyBridgeApi.mjs.
POST /api/story-bridge/values-save#
Source: ui/server/src/storyBridgeApi.mjs.