Skip to main content
Every post to X carries a settings object with "__type": "x". Read the live schema for your channel with Get a channel’s settings.

Fields

subscribers, verified and post_type: "article" need an X Premium subscription on the connected account. PostQueen asks X for the account’s subscription when the channel is connected. When X answered that it has none, these values are refused with 400 and the post is held to 280 characters. An account that subscribed later is refused until it is reconnected. An account whose answer was anything else, and a channel connected before PostQueen asked, is not checked, and X may refuse the post when it is published.

The text limit

A post takes 280 characters, or 4,000 when the channel is marked Verified. The Verified mark is read from X when the channel is connected and is changed in the app, not per post. An Article takes up to 100,000. Length is counted the way X counts it: a link is 23 characters, and most emoji and CJK characters are 2.

Thread replies

Each extra entry in value is posted as a reply to the entry before it, after its delay in minutes. Every entry is held to the same media rule as the first. A draft Article cannot have replies.

Articles

With post_type: "article", content is HTML. X keeps these tags: h1 and h2 headings (an h3 is sent as h2), ul and li bullet lists, strong for bold, and a links. Every other tag becomes a plain paragraph. A picture goes where it should appear as <img src="..." alt="...">, with the path of a picture in your media library; a src that is not a PostQueen upload is dropped. The images attached to the entry are placed at the end of the Article. Video is not allowed.

What PostQueen checks

A post that breaks one of these rules is refused with 400 before it is scheduled: The error body names the channel and the rule:
X’s own rules are not checked first: video length and size, 1 cashtag per post, and 50 posts and 200 replies a day for unverified accounts. Every picture is resized to 1,000 px wide and re-encoded as a GIF before upload.

Examples

Send each body to create a post. Replace YOUR_CHANNEL_ID with the channel’s id from list channels, and each media id and path with the values upload a file returns.
The Article example needs X Premium on the connected account. With "article_status": "draft" instead, it lands in your X drafts.
Last modified on October 9, 2026