POST /api/v1/posts/{id}/edit
Edit the text of the post on the platform (Facebook; Telegram text or caption, keeping the post's parseMode; Discord message text; X Premium within 1 hour, as a new post id; the Postgale post keeps its text). Queued for approval (202) while approval applies
BearerAuthAuthorizationBearer <token>API key sk_...
id*stringPostgale post id
application/json- body
content*stringlength <= 40000accountId?stringOnly this target
{postId, results}: per target; with one target (or accountId) its failure is the error
application/json- response
postId?stringresults?array<>curl -X POST 'https://example.com/api/v1/posts/string/edit' \ -H 'Content-Type: application/json' \ -d '{ "content": "string"}'{ "postId": "string", "results": [ { "accountId": "string", "platform": "string", "platformPostId": "string", "ok": true, "code": "string", "error": "string" } ]}POST /api/v1/posts/bulk-upload POST
Create posts from a CSV (multipart field file, or a text/csv body). Columns: platforms, profiles (id or name), post_content (content), schedule_time (scheduledFor) with tz, publish_now, is_draft, media_urls, and per-platform schedule_time_<p>, custom_content_<p>, custom_media_<p>. One post per row (per distinct per-platform schedule). dryRun=true validates only. 5000 rows max. 207 when some rows failed
POST /api/v1/posts/{id}/unpublish POST
Delete the post from the platform (Facebook, Threads, X, Telegram: every message of an album; Discord; Bluesky and Mastodon: the post, or a thread's first post; Instagram does not allow it → not_supported). The Postgale post stays