Retry failed post
POST/posts/:id/retry
Retry all failed platform destinations for a post. Resets failed destinations to queued status for re-publishing. Use after resolving temporary issues like rate limits or expired OAuth tokens.
This endpoint enqueues the failed destinations immediately — it does not synchronously re-publish. Poll GET /v1/posts/{post_id} or GET /v1/posts/{post_id}/results to watch the destinations[].status transition from queued → publishing → published or failed.
If a destination failed because of an expired OAuth token, retrying alone won't help — the platform will reject the same token again. Check destinations[].error from GET /v1/posts/{post_id} first; if it mentions "token expired" or "reconnect required", the account owner must reconnect in the web app before this retry will succeed.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
post_id | string (UUID) | Yes | UUID of the post to retry. Accepts id as a deprecated alias in the URL path. |
Request Body Schema
The request body is optional. By default, all failed destinations are retried.
| Field | Type | Required | Description |
|---|---|---|---|
account_ids | integer[] | No | Retry only specific accounts. Omit to retry every failed destination on the post. |
Request Example
{
"account_ids": [2285]
}
Response Example
200 — Retry enqueued
{
"data": {
"post_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"retried_count": 1,
"destinations": [
{
"account_id": 2285,
"account_name": "My Brand Inc.",
"platform": "linkedin",
"status": "queued",
"platform_post_id": null,
"platform_post_url": null,
"published_at": null,
"error": null,
"attempts": 3
}
],
"next_step": "1 destination re-queued. Poll GET /v1/posts/f47ac10b-58cc-4372-a567-0e02b2c3d479 to watch publish status."
},
"error": null,
"meta": {
"request_id": "a1b2c3d4",
"timestamp": "2026-04-15T16:00:00.000Z"
}
}
Response fields
| Field | Type | Description |
|---|---|---|
post_id | string (UUID) | Canonical post identifier |
retried_count | integer | Number of destinations re-queued |
destinations | object[] | Updated destination state for each retried account (same shape as in GET /v1/posts/{post_id}) |
next_step | string | Human-readable instruction for checking retry progress |
404 — Post not found
{
"data": null,
"error": {
"message": "Post not found.",
"code": "not_found"
},
"meta": {
"request_id": "e5f6g7h8",
"timestamp": "2026-04-15T16:00:00.000Z"
}
}
409 — No failed destinations to retry
{
"data": null,
"error": {
"message": "Nothing to retry — all destinations are currently queued, publishing, or published.",
"code": "no_failed_destinations"
},
"meta": {
"request_id": "i9j0k1l2",
"timestamp": "2026-04-15T16:00:00.000Z"
}
}
Request
Responses
- 200
- 400
- 401
- 404
- 429
Destinations retried
Invalid request parameters
Missing or invalid API key
Resource not found
Rate limit exceeded
Response Headers
Request limit per window
Remaining requests in current window
Unix timestamp when the window resets
Seconds to wait before retrying