Update scheduled post
<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>
Edits the content or the schedule of a post that hasn't published yet. Send only the fields you want to change. An omitted field keeps its current value.
A post can only be edited while its status is proposal or scheduled. To publish elsewhere, create a new post instead. An existing post's platform isn't editable in any state.
Only the fields documented here are accepted, platform included. Don't read a post and send the whole object back. Base44 owns id, app_id, status, workflow_id, and the rest of the response, so a round-trip like that is rejected rather than partly applied. Send only the fields you're changing.
Only image_url and image_prompt can be cleared, by sending null. Any other field rejects an explicit null.
A post generated from a content plan normally stays linked to it. Using Refine a post, Update post content, or Generate a post image on that post also updates the matching row on the calendar. Editing it here breaks that link, so those endpoints no longer touch it afterward.
Editing scheduled_at moves the post's publish time only before it has a workflow_id, the ID of the automation Start scheduling posts creates to publish it. Once that automation exists, it publishes at the time it was given, even if you later send a different scheduled_at. The calendar shows your new value, but the post still goes out at the original time. To actually move a post that's already reached this point, delete it and create it again at the new time.
Content changes work differently. Because the publisher reads a post's current content at publish time, an edit to title, body, or the other content fields always takes effect, even after the post has a workflow_id.
Path parameters
ID of the post, as returned by List scheduled posts.
ID of the post, as returned by List scheduled posts.
ID of the app whose social calendar you want.
ID of the app whose social calendar you want.
Request body
Example request
{
"title": "Ship a CRM in an afternoon",
"body": "We replaced our lead spreadsheet with an app we built in an afternoon.",
"scheduled_at": "2026-09-16T09:30:00Z",
"scheduled_timezone": "Asia/Jerusalem",
"hook": "social_proof",
"best_time_reason": "Our audience checks LinkedIn before lunch.",
"hashtags": [
"buildinpublic",
"crm"
],
"image_url": "https://cdn.example.com/posts/crm-launch-v2.png",
"image_prompt": "A freelancer closing a deal on a laptop, warm morning light"
}Response
The post after the edit.
Example response
{
"id": "6886b8d390dc7e2f4a2c91b3",
"app_id": "6820f3a4e7b91d003c45a1f2",
"plan_id": "8c1f9a2e-3b7d-4c5e-9f01-2a3b4c5d6e7f",
"source_post_id": "3f2504e0-4f89-11d3-9a0c-0305e82c3301",
"platform": "linkedin",
"title": "Ship a CRM in an afternoon",
"body": "We replaced our lead spreadsheet with an app we built in an afternoon. Here's what changed.",
"hook": "pain_point",
"scheduled_at": "2026-09-15T14:00:00",
"scheduled_local_at": "2026-09-15T17:00:00+03:00",
"scheduled_timezone": "Asia/Jerusalem",
"best_time_reason": "Weekday afternoons get the most engagement for this audience.",
"hashtags": [
"buildinpublic",
"crm"
],
"image_url": "https://cdn.example.com/posts/crm-launch.png",
"image_prompt": "A freelancer closing a deal on a laptop, warm morning light",
"status": "scheduled",
"workflow_id": "68a1c4f0d21b4e0a3c77e912"
}Changes
Changed in 1 of the 18 revisions of this API.1
- ○
endpoint added
endpoint-added
- ○
Of the 18 revisions, 1 has no diff computed.