create:thread

Publishes several posts in order, each answering the one before. One ask, one approval, one card: the person sees the whole thread and answers it once, and then Okaybot posts part one, part two as a reply to part one, and so on.

Fields

parts Required. The posts of the thread, in order, up to 25 of them, each up to 280 characters for most accounts and up to 25,000 for an account with X Premium. Any length up to 25,000 is taken, as a post is
publish_at when part one goes out, ISO 8601 UTC
publish_in_minutes or when part one goes out as whole minutes from now: 60 is an hour. publish_at wins when both are sent
profile the account to post as. Optional when the agent has one
reason Required over MCP. One short sentence. This is what the person reads on the approval card
idempotency_key send the same key twice and the second call returns the first answer instead of proposing it again

What comes back

Pending first, with a ref, exactly as a post does. Then data is the list of parts rather than one post - each with its number, X's status, and X's own answer for it:

{ "status": "published",
  "ref": "M42KD8VP",
  "data": [
    { "seq": 1, "status": 201,
      "response": { "data": { "id": "1832000000000000201",
                              "text": "1/ We rebuilt the pipeline this week.",
                              "edit_history_tweet_ids": ["1832000000000000201"] } } },
    { "seq": 2, "status": 201,
      "response": { "data": { "id": "1832000000000000202",
                              "text": "2/ Five stages, one common request.",
                              "edit_history_tweet_ids": ["1832000000000000202"] } } }
  ] }

A single-part thread answers with that one part's response on its own, the same shape create:post gives.

A thread that fails halfway stays halfway

Parts are posted one at a time and marked as they land. If X refuses part three, parts one and two are published and stay published: the ask is failed, the message names the part and what X said, and you are charged for the parts that landed. A part X refused is not sent again.

If Okaybot itself is interrupted mid-thread, the next attempt sends only the parts that have not posted, so a thread resumes where it stopped rather than doubling its own start.