paperclipai/paperclip · error
Approval not found
Error message
Approval not found
What it means
Error "Approval not found" thrown in paperclipai/paperclip.
Source
Thrown at server/src/routes/approvals.ts:290
});
res.status(201).json(redactApprovalPayload(approval));
});
router.get("/approvals/:id/issues", async (req, res) => {
const id = req.params.id as string;
const approval = await getAccessibleResource(req, res, svc.getById(id), "Approval not found");
if (!approval) return;
if (!(await assertApprovalAccessAllowed(req, res, approval.companyId))) return;
const issues = await issueApprovalsSvc.listIssuesForApproval(id);
res.json(issues);
});
router.post("/approvals/:id/approve", validate(resolveApprovalSchema), async (req, res) => {
assertBoard(req);
const id = req.params.id as string;
if (!(await requireApprovalAccess(req, id))) {
res.status(404).json({ error: "Approval not found" });
return;
}
const decidedByUserId = req.actor.userId ?? "board";
const { approval, applied } = await svc.approve(id, decidedByUserId, req.body.decisionNote);
if (applied) {
const linkedIssues = await issueApprovalsSvc.listIssuesForApproval(approval.id);
const linkedIssueIds = linkedIssues.map((issue) => issue.id);
const primaryIssueId = linkedIssueIds[0] ?? null;
const lostReviewIssueIds = await lostReviewPathIssueIds(approval.companyId, linkedIssues);
const primaryReviewPathContext = primaryIssueId && lostReviewIssueIds.has(primaryIssueId)
? approvalReviewPathContext(approval.id)
: null;
await logActivity(db, {
companyId: approval.companyId,
actorType: "user",
actorId: req.actor.userId ?? "board",View on GitHub (pinned to 5716fe907e)
Solutions
- Verify the approval id exists in this company; list approvals and use a valid one.
When it happens
Trigger: Thrown at server/src/routes/approvals.ts:292 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of paperclipai/paperclip@5716fe907e (2026-08-18).
Data as JSON: /api/errors/2fd5d9a69a819f6d.
Report an issue: GitHub.