Skip to main content

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.

When retries happen

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 queuedpublishingpublished or failed.

Reconnect expired tokens first

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

ParameterTypeRequiredDescription
post_idstring (UUID)YesUUID 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.

FieldTypeRequiredDescription
account_idsinteger[]NoRetry 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

FieldTypeDescription
post_idstring (UUID)Canonical post identifier
retried_countintegerNumber of destinations re-queued
destinationsobject[]Updated destination state for each retried account (same shape as in GET /v1/posts/{post_id})
next_stepstringHuman-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

Destinations retried