Posts
Retry Post
Re-publish the platform targets that failed on a post, now or on a schedule.
When a post publishes to several platforms and one of them fails, you don't have to rebuild the whole request. Retry re-sends only the platforms that failed, using the original post content and media. Platforms that already published are never touched.
Endpoint
POST https://api.postpeer.dev/v1/posts/{postId}/retryPath Parameters
| Parameter | Type | Description |
|---|---|---|
postId | string | The ID of the post to retry |
Body Parameters
Both fields are optional. Omit the body to retry immediately.
| Parameter | Type | Description |
|---|---|---|
scheduledFor | string | ISO 8601 time to schedule the retry. Omit to retry right away. |
timezone | string | IANA timezone for the scheduled retry (e.g. America/New_York). Defaults UTC. |
How it works
- Only platform targets with a
failedstatus are re-published. Already-published platforms are skipped, so you never double-post. - The retry reuses the original post's content, media, and per-platform settings. You don't resend the payload.
- Credits are charged for the retried platforms (they were refunded when they failed), and refunded again if the retry fails too.
Retry now
curl -X POST "https://api.postpeer.dev/v1/posts/post_abc123/retry" \
-H "x-access-key: YOUR_API_KEY"import PostPeer from '@postpeer/node';
const client = new PostPeer();
await client.posts.retry({ path: { postId: 'post_abc123' } });from postpeer import PostPeer
with PostPeer() as client:
client.posts.retry(post_id="post_abc123")Schedule the retry
curl -X POST "https://api.postpeer.dev/v1/posts/post_abc123/retry" \
-H "x-access-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"scheduledFor": "2026-01-01T15:00:00Z",
"timezone": "America/New_York"
}'import PostPeer from '@postpeer/node';
const client = new PostPeer();
await client.posts.retry({
path: { postId: 'post_abc123' },
body: {
scheduledFor: '2026-01-01T15:00:00Z',
timezone: 'America/New_York',
},
});from postpeer import PostPeer
with PostPeer() as client:
client.posts.retry(
post_id="post_abc123",
scheduled_for="2026-01-01T15:00:00Z",
timezone="America/New_York",
)Response
The response matches Create Post: status is pending / publishing for an immediate retry, or scheduled when you pass scheduledFor.
{
"success": true,
"status": "scheduled",
"postId": "post_abc123",
"scheduledFor": "2026-01-01T15:00:00.000Z",
"platforms": [{ "platform": "linkedin", "success": true }]
}Status Codes
| Code | Meaning |
|---|---|
202 | Retry accepted (publishing now or scheduled) |
400 | No failed platforms to retry, or scheduledFor is not in the future |
402 | Not enough credits to retry the failed platforms |
404 | Post not found |