gitroomhq/postiz-app · warning · BadBody
Pinterest may have already published this pin, please check
Error message
Pinterest may have already published this pin, please check your account before posting again to avoid duplicates
What it means
PinterestProvider.checkPostStatus detects a pending pin whose creation attempt was confirmed started but whose result was never recorded (workflow died mid-create). Pinterest offers no query API for whether a pin was created, so re-running create would risk a duplicate pin; the provider refuses and warns the user to check their account.
Source
Thrown at libraries/nestjs-libraries/src/integrations/social/pinterest.provider.ts:350
board: postDetails?.[0]?.settings.board,
},
imagePaths: (postDetails?.[0]?.media || []).map((m) => m.path),
coverPath: picture?.path,
} as PinterestPendingData,
},
];
}
override async checkPostStatus(
accessToken: string,
pendingData: PinterestPendingData,
integration: Integration
): Promise<PendingCheckResponse> {
// A confirmed create attempt died without reporting its result: Pinterest
// gives no way to ask whether that pin was created, so never run the
// create again - stop with an explicit warning instead.
if (pendingData.attempting && pendingData.confirmed) {
throw new BadBody(
'pinterest',
JSON.stringify({}),
{} as any,
'Pinterest may have already published this pin, please check your account before posting again to avoid duplicates'
);
}
// witness the armed create so finalizePost knows the attempt is uniquely
// accounted for before it mutates anything
const witness = (): PendingCheckResponse =>
pendingData.attempting && !pendingData.confirmed
? {
status: 'ready',
pendingData: { ...pendingData, confirmed: true },
}
: { status: 'ready', pendingData };
// Image-only pins have no asynchronous processing step.View on GitHub (pinned to 0f1647f749)
Solutions
- Manually check the Pinterest account/board for the pin
- If not published, delete the pending state and re-post
- If published, mark the post as done manually to avoid a duplicate
- Avoid retrying the same pending workflow repeatedly
Defensive patterns
Strategy: try-catch
Try / catch
catch (e) { if (/may have already published this pin/.test(e.message)) { /* pause, require manual verification */ } } Prevention
- Never auto-retry a pending Pinterest pin with confirmed=true
- Persist create outcomes as soon as the request is sent
When it happens
Trigger: pendingData.attempting && pendingData.confirmed is true — the create call was sent to Pinterest but the workflow crashed/timed out before saving the result, and checkPostStatus runs afterward.
Common situations: Temporal activity timeout or worker crash between the Pinterest create request and persisting the outcome; retrying a workflow in this ambiguous state.
Related errors
- The file is corrupted and cannot be uploaded
- The file took too long to process, please try again
- Reddit took too long to answer, please check your account be
AI-assisted analysis of gitroomhq/postiz-app@0f1647f749 (2026-08-27).
Data as JSON: /api/errors/d92fe2b7559aba95.
Report an issue: GitHub.