Publishing failures
Publish failed
publish_failed: ... from an agent (or 400 from /publish/) usually means:
- No connected account — the variant has no social profile; connect one under Settings -> Channels, or pick one (
list_social_profiles/social_profile_id). See Connect social accounts. - "This variant is awaiting channel approval." — the variant is in
needs_approval, so it can't be pushed out manually; it publishes on its own once the channel's approvers sign off. Scheduling to a gated channel never errors — the request is created and routed automatically. See Approvals. - Platform rejected it — the error message passes through the platform's reason (expired connection, content rules, etc.). Reconnecting the social account fixes expired tokens — see Connect social accounts.
- Media cannot publish — remove unsupported file types, reduce oversized images, or reconnect an older X account so it grants media-upload permission.
If an image upload fails before anything posts, fix the media and retry. For X threads, WriteMars uploads all images before posting the first tweet; if X rejects a later tweet after the thread starts, the error tells you how many tweets are already live.
Still stuck?
The interactive API reference at /api/docs/ lets you try any endpoint with your token (Authorize → apiToken) and see exact responses.