POST /posts/{id}/review
Zernio's review endpoint. reject closes a post awaiting approval; approve answers 403 human_approval_required (a person approves in the dashboard)
BearerAuthAuthorizationBearer <token>API key sk_...
id*stringPostgale post id
application/json- body
action*string"approve""reject"{postId, status}
application/json- response
postId?stringstatus?stringcurl -X POST 'https://example.com/api/v1/posts/string/review' \ -H 'Content-Type: application/json' \ -d '{ "action": "approve"}'{ "postId": "string", "status": "string"}POST /posts/{id}/retry POST
Retry a failed or partially published post now: failed targets get a fresh attempt budget, then the post is published again (approval policy applies)
POST /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