PATCH
/posts/:idUpdate Post
Update a draft or scheduled post. Cannot update published posts.
Path Parameters
| Name | Type | Description |
|---|---|---|
| id* | string | Post ID |
Body Parameters
| Name | Type | Description |
|---|---|---|
| text | string | Updated post content |
| schedule | string | New schedule date (ISO 8601). Set to null to convert to draft. |
| platformContent | object | Updated per-platform content; fields left out stay as they are. platformContent.<platform>.accounts.<accountId>.text changes one account’s own text: accounts left out keep theirs, an empty text sends an account back to the platform text. The account must already be on the post. See Platform-Specific Content. |
| isThread | boolean | Informational. Threading is auto-detected from \n\n\n separators in the platform’s text. |
| media | object | Updated media attachments. Includes filename (LinkedIn carousel document name) and videoTitle (LinkedIn video title) — pass an empty string to reset either back to default branding. |
| isAutoPlug | boolean | Toggle LinkedIn auto-plug on/off. |
| autoPlug | array | Replace the array of scheduled comments (LinkedIn only). |
Request Body Example
{
"text": "Updated post content",
"schedule": "2025-03-16T10:00:00Z",
"platformContent": {
"twitter": {
"accounts": {
"ghi789": { "text": "New text for this X account only" }
}
}
}
}Response
200{
"success": true,
"data": {
"id": "post_abc123",
"text": "Updated post content",
"status": "scheduled",
"schedule": "2025-03-16T10:00:00Z",
"updatedAt": "2025-03-11T08:00:00Z"
}
}