Update post
Updates a post. Only the fields you send change. The social account is fixed (social_account_id is refused).
Send the destination's format and settings either as top-level content_type and meta (the post has one destination), or as platforms[] with the destination id. meta is merged with the stored settings: send null for a key to clear it (string, list and object settings; boolean settings cannot be cleared, so send true or false); thread_replies replaces the whole list. media replaces the post's media; label_ids replaces its labels.
status: publishing publishes the post now; scheduled schedules it at scheduled_at, in the queue (queue), or keeps its future scheduled_at; draft unschedules it (it is no longer published; the last scheduled_at stays on the draft). When scheduling or publishing, the content type must fit the media and the required settings must be present.
Posts that are publishing, published, partially published or failed cannot be edited: the request returns 422 with This post has already been processed and cannot be re-published. Duplicate it to try again.
Posts with several destinations (created before each channel got its own post) cannot be queued; platforms there lists the destinations to keep, and the rest are turned off. On this endpoint an invalid body may answer 422 before the 404 check of a post of another workspace.
Request
- Base URL: https://app.trypost.it/api
- URL: https://app.trypost.it/api/posts/{post}
- Auth: HTTP bearer
Request body
Example request
{
"media": [
{
"url": "https://example.com/launch.jpg",
"alt": "Product launch banner"
}
],
"meta": {
"thread_replies": [
{
"text": "3/ Full changelog below.",
"media": [
{
"url": "https://example.com/changelog.png"
}
]
}
]
},
"platforms": [
{
"meta": {
"thread_replies": [
{
"text": "3/ Full changelog below.",
"media": [
{
"url": "https://example.com/changelog.png"
}
]
}
]
}
}
]
}Response
The updated post.
Example response
{
"id": "9d3c1f2a-6b4e-4c8a-9f1e-2a7b5c8d0e41",
"post_group_id": "9d3c1f29-e0a1-4b7c-8d2e-5f6a7b8c9d03",
"author": {
"id": "9b1e2d3c-4f5a-4b6c-8d7e-9f0a1b2c3d4e",
"name": "Ana Souza"
},
"content": "We just shipped scheduled threads. Here is how they work.",
"media": [
{
"id": "9d3c1f30-8a9b-4c0d-9e1f-2a3b4c5d6e7f",
"path": "medias/9d3c1f30-8a9b-4c0d-9e1f-2a3b4c5d6e7f.jpg",
"url": "https://media.trypost.it/medias/9d3c1f30-8a9b-4c0d-9e1f-2a3b4c5d6e7f.jpg",
"type": "image",
"mime_type": "image/jpeg",
"original_filename": "launch.jpg",
"size": 482113,
"meta": {
"width": 1080,
"height": 1350,
"alt_text": "Product launch banner"
}
}
],
"status": "scheduled",
"schedule_mode": "custom",
"scheduled_at": "2026-10-12 14:00:00",
"published_at": null,
"approval_requested_by": null,
"approval_requested_at": null,
"approved_by": null,
"approved_at": null,
"recurrence": null,
"origin": "trypost",
"platforms": [
{
"id": "9d3c1f2b-1a2b-4c3d-8e4f-5a6b7c8d9e10",
"platform": "x",
"content_type": "x_post",
"meta": {
"thread_replies": [
{
"text": "2/ Replies publish under the first post.",
"media": []
}
]
},
"status": "pending",
"enabled": true,
"platform_url": null,
"published_at": null,
"error_message": null,
"display_name": "TryPost",
"display_username": "trypostit",
"display_avatar": "https://pbs.twimg.com/profile_images/1790000000000000000/avatar_400x400.jpg",
"social_account": {
"id": "9c8b7a65-4d3e-4f2a-8b1c-0d9e8f7a6b54",
"platform": "x",
"display_name": "TryPost",
"username": "trypostit",
"status": "connected",
"has_posting_schedule": true,
"timezone": "America/Sao_Paulo",
"posting_goal": 5,
"max_content_length": 280,
"long_posts": false,
"verified_badge": null
}
}
],
"labels": [
{
"id": "9c0d1e2f-3a4b-4c5d-8e6f-7a8b9c0d1e2f",
"name": "Launch",
"color": "#2563EB",
"created_at": "2026-09-01 10:00:00",
"updated_at": "2026-09-01 10:00:00"
}
],
"created_at": "2026-10-08 13:20:11",
"updated_at": "2026-10-08 13:20:11"
}Changes
No recorded changes to this operation across all 1 revision of this API.