Update post content
<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>
Replaces a post's text with the text you supply, and returns the whole updated plan.
This is the plain-edit counterpart to Refine a post. It saves the text you send, calls no language model, and costs no credits. Only the post's content changes, so its image and every other post stay as they are.
<Note>The text is sanitized before it is stored, so what you read back can differ from what you sent. XML and HTML tags, code fences, and lines starting system:, assistant:, or user: are removed. Read content off the response rather than assuming your input was stored verbatim.</Note>
A 409 means repeated write conflicts on the plan did not settle, so retry the request. This endpoint shares a limit of 15 requests per minute with the other social content endpoints.
<Note>This endpoint accepts a personal API key. Workspace API keys are not authorized for it and are rejected with a 403.</Note>
<Warning>The response includes fields beyond the ones documented here. Don't rely on undocumented response fields, as they can change at any time. Send only the fields documented here. Other request fields are not supported and their behavior can change.</Warning>
Path parameters
ID of the post, as returned in the content plan. Must be a UUID.
ID of the post, as returned in the content plan. Must be a UUID.
ID of the app.
ID of the app.
Request body
Example request
{
"content": "Still tracking leads in a spreadsheet? I built the thing I wanted instead."
}Response
Successful Response
Example response
{
"plan": {
"id": "8c1f9a2e-3b7d-4c5e-9f01-2a3b4c5d6e7f",
"app_id": "6820f3a4e7b91d003c45a1f2",
"strategy": {
"app_summary": "A CRM for freelancers who want to track leads without a spreadsheet.",
"marketing_approach": "Lead with the spreadsheet pain, then show the app solving it.",
"platforms": [
{
"reasoning": "Instagram rewards a consistent series, so these build on each other.",
"posts": [
{
"id": "3f2504e0-4f89-11d3-9a0c-0305e82c3301",
"angle_label": "Pain point",
"post_number": 1,
"total_posts": 5,
"suggested_day": 1,
"rationale": "Opens on the spreadsheet frustration the audience already has.",
"content": "Still tracking leads in a spreadsheet? I built the thing I wanted instead.",
"image_url": "https://storage.base44.com/virality/3f2504e0.png",
"image_prompt": "A freelancer closing a laptop at a tidy desk, warm morning light",
"hashtags": [
"freelance",
"buildinpublic"
],
"post_title": "I built a CRM because spreadsheets kept losing my leads",
"suggested_subreddits": [
"r/freelance",
"r/SideProject"
],
"launch_comment": "Happy to answer questions about how it works.",
"option_label": "Direct and personal",
"best_for_context": "Best if your audience already knows you"
}
]
}
]
},
"created_at": "2026-08-24T09:15:00+00:00",
"updated_at": "2026-08-24T10:02:00+00:00"
}
}Changes
No recorded changes to this endpoint across all 1 revision of this API.