paperclipai/paperclip · error
board_access_required
Error message
board_access_required
What it means
The dev-server restart endpoint refused the request because the instance runs in authenticated deployment mode and the actor is not a board user; only board actors may trigger dev-server restarts there.
Source
Thrown at server/src/routes/health.ts:141
deploymentExposure: DeploymentExposure;
authReady: boolean;
companyDeletionEnabled: boolean;
serverInfo?: ServerInfoSnapshot;
databaseBackupHealth?: InspectDatabaseBackupHealthOptions;
runtimeEnv?: CloudInstanceEnv;
} = {
deploymentMode: "local_trusted",
deploymentExposure: "private",
authReady: true,
companyDeletionEnabled: true,
},
) {
const router = Router();
router.post("/dev-server/restart", async (req, res) => {
const actorType = "actor" in req ? req.actor?.type : null;
if (opts.deploymentMode === "authenticated" && actorType !== "board") {
res.status(403).json({ error: "board_access_required" });
return;
}
const persistedDevServerStatus = readPersistedDevServerStatus();
if (!persistedDevServerStatus) {
res.status(404).json({ error: "dev_server_supervisor_unavailable" });
return;
}
const restartRequired =
persistedDevServerStatus.dirty ||
persistedDevServerStatus.changedPathCount > 0 ||
persistedDevServerStatus.pendingMigrations.length > 0;
if (!restartRequired) {
res.status(409).json({ error: "restart_not_required" });
return;
}
View on GitHub (pinned to 01ad858492)
Solutions
- Include the required field(s) in the request path, query, or body as named by the error message, then retry.
- Check the API contract in packages/shared validators for the exact required shape of this endpoint.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at server/src/routes/health.ts:98 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of paperclipai/paperclip@01ad858492 (2026-08-18).
Data as JSON: /api/errors/6301c057e975c793.
Report an issue: GitHub.