✦ Partner API
How to prevent duplicate scheduled social posts during API retries
Quick answer
After a transport failure, retry the identical scheduled MultiPost request with the same user, future time, post type, targets, caption and original media inputs. MultiPost derives a stable key and reuses a matching pending or publishing job; intentional edits must cancel the old job and create a replacement.
How do you prevent duplicate scheduled social posts when an API request is retried?
Retry the exact same scheduled request rather than generating a new time, caption, media list or target set. MultiPost derives a stable deduplication key from the user, normalized schedule time, type, targets, caption and original media signature, then reuses the pending job when those inputs match.
This protection applies to scheduled requests while the matching job is pending or publishing. It is not permission to replay an immediate publish or to alter fields during a network timeout; changing an input describes a different job.
What is the fast way to make scheduled retries safe with MultiPost?
The fast way is to save the canonical request before calling the API and reuse those exact bytes or normalized values after a transport failure. First confirm the user still has the target accounts connected and avoid rebuilding the payload from mutable display data.
API scheduling requires Pro or Agency and still consumes quota when the job publishes successfully. Direct users to MultiPost billing when plan or remaining usage prevents the workflow.
Which fields must remain identical for MultiPost to reuse the scheduled job?
The linked user, future datetime, post type, sorted platform-and-handle targets, caption and original media inputs must remain identical. Target ordering does not change the identity, but adding a network, editing the caption or regenerating a media URL creates a distinct request signature.
Store the scheduled job ID returned per target alongside your own request record. The broader guide to handling partial multi-target publish failures explains why successful destinations must also be preserved.
What should you do when the customer intentionally changes the scheduled post?
Treat an intentional change as a replacement, not a retry. Cancel the pending job through the user's MultiPost calendar, confirm it is no longer pending and submit a new request with the corrected time, content or destinations.
Do not rely on a changed request to overwrite the old one. Its different signature can validly create another scheduled job, leaving both versions queued unless the original is canceled.
How does MultiPost fit into a duplicate-safe retry runbook?
MultiPost supplies deterministic reuse for matching scheduled jobs and returns stable scheduled IDs, while your SaaS stores the canonical payload and distinguishes retry from edit. That division makes transport retries safe without hiding deliberate content changes.
Frequently asked questions
Does MultiPost deduplicate matching scheduled requests?
Yes. It reuses a matching job while that scheduled job remains pending or publishing.
Which fields must stay the same for a safe retry?
Keep user, scheduled time, type, targets, caption and original media inputs identical.
Does target ordering change the scheduled request identity?
No. MultiPost sorts the platform-and-handle targets when it derives the deduplication signature.
How should an intentional edit be handled?
Cancel the pending original, confirm cancellation and submit the corrected request as a new job.
✦ Start free
Retry transport failures without scheduling the same post twice.
MultiPost reuses matching pending jobs while your SaaS keeps a canonical request and distinguishes edits from retries.