Skip to content

Scheduled Broadcast API auto-creates timeline Posts with no documented opt-out #439

Description

@seriouscatsoserious

Summary

Public broadcasts created through POST /2/broadcasts/scheduled have begun automatically creating public timeline Posts when they start. There is no documented request field that controls this behavior, and our application does not call POST /2/tweets for these broadcasts.

This appears inconsistent with the Media Studio Producer documentation, which describes posting a broadcast as a separate action:

https://help.x.com/en/using-x/how-to-use-live-producer

The general X Live documentation, however, says live videos are automatically posted:

https://help.x.com/en/using-x/x-live

Could the scheduled-broadcast API documentation clarify which behavior applies and how API clients can start a public broadcast without automatically creating a timeline Post?

Reproduction

  1. Create a public scheduled broadcast through POST /2/broadcasts/scheduled with manual_publish: false.
  2. Do not call POST /2/tweets.
  3. Allow the broadcast to reach its scheduled start.
  4. A public timeline Post is automatically created and returned as the broadcast's attached tweet_id.

We also tested a separate public broadcast with manual_publish: true, followed by an explicit call to the broadcast /live endpoint. Starting it still immediately generated an attached public Post. This indicates that manual_publish controls start timing, rather than timeline publication.

Observed transition

The same application, credentials, sources, payload settings, and scheduler previously started scheduled public broadcasts without attached Posts. Consecutive scheduled broadcasts bracketed the behavior change:

  • Broadcast 1PJqrNpyrZnxb, started 2026-09-21 10:40 UTC: no attached Post.
  • Broadcast 1DGleVnQboMJL, started 2026-09-21 22:30 UTC: attached Post 2102163450785059230.
  • Broadcast 1wxWjlMNNPVJQ, started 2026-09-22 10:20 UTC: attached Post 2102342129980948683.

All had available_for_replay: true, chat_option: "3", locale: "en", and manual_publish: false. The latter Post was created two seconds before the scheduled start, between our controller runs, which rules out our optional announcement code. The generated Posts were subsequently deleted manually.

Documentation/API gap

The current OpenAPI schema for scheduled-broadcast creation contains no nullcast, publish_to_timeline, auto_post, or equivalent field. nullcast is documented only for Posts explicitly created through POST /2/tweets, so it cannot be applied to a Post internally generated when a broadcast starts.

Please clarify:

  1. Is automatic timeline posting now intentional for every public scheduled API broadcast?
  2. If so, is there a supported opt-out for Media Studio/API broadcasters?
  3. If not, is this a regression or account-level rollout?
  4. Could the scheduled-broadcast schema and documentation explicitly describe the timeline-Post behavior of manual_publish and public broadcasts?

Environment

  • API: X API v2 scheduled broadcasts
  • Endpoint: /2/broadcasts/scheduled
  • First observed changed behavior: 2026-09-21 between 10:40 and 22:30 UTC
  • No call to POST /2/tweets
  • Reproduced with both automatic and manual broadcast publication

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions