X · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for X API v2 Stream API

19 actions 19 updates phrasing extends openapi/x-stream-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for X's API. It is a proposal applied on top of the contract, not a document X publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 19 · first 16 shown; the file carries all of them

$.info
$.paths['/2/activity/stream'].get
$.paths['/2/likes/compliance/stream'].get
$.paths['/2/likes/firehose/stream'].get
$.paths['/2/likes/sample10/stream'].get
$.paths['/2/tweets/compliance/stream'].get
$.paths['/2/tweets/firehose/stream'].get
$.paths['/2/tweets/firehose/stream/lang/en'].get
$.paths['/2/tweets/firehose/stream/lang/ja'].get
$.paths['/2/tweets/firehose/stream/lang/ko'].get
$.paths['/2/tweets/firehose/stream/lang/pt'].get
$.paths['/2/tweets/label/stream'].get
$.paths['/2/tweets/sample/stream'].get
$.paths['/2/tweets/sample10/stream'].get
$.paths['/2/tweets/search/stream'].get
$.paths['/2/tweets/search/stream/rules'].get

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for X API v2 Stream API
  version: 1.0.0
extends: openapi/x-stream-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 18
- target: $.paths['/2/activity/stream'].get
  update:
    x-apievangelist-phrasing:
      intent: Stream X activity events
      effect: read
      questions:
      - Can I open a live stream of the activity events I've subscribed to?
      - Can the activity stream backfill events I missed during a disconnect?
      instructions:
      - text: Connect to my X activity stream.
      - text: Stream my subscribed activity events with {backfill_minutes} minutes of backfill.
        slots:
          backfill_minutes: query.backfill_minutes
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/likes/compliance/stream'].get
  update:
    x-apievangelist-phrasing:
      intent: Stream Likes compliance events
      effect: read
      questions:
      - Where do I get compliance events about Likes I've stored?
      - Can I replay Likes compliance data from a start time?
      instructions:
      - text: Stream Likes compliance data.
      - text: Stream Likes compliance events from {start_time} to {end_time}.
        slots:
          start_time: query.start_time
          end_time: query.end_time
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/likes/firehose/stream'].get
  update:
    x-apievangelist-phrasing:
      intent: Stream every public Like
      effect: read
      questions:
      - Is there a firehose of all public Likes in real time?
      - How is the full Likes firehose split into partitions?
      instructions:
      - text: Stream all public Likes on partition {partition}.
        slots:
          partition: query.partition
      - text: Connect to the full Likes firehose, partition {partition}, with {backfill_minutes} minutes of backfill.
        slots:
          partition: query.partition
          backfill_minutes: query.backfill_minutes
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/likes/sample10/stream'].get
  update:
    x-apievangelist-phrasing:
      intent: Stream a 10% sample of Likes
      effect: read
      questions:
      - Can I get a 10 percent sample of public Likes instead of the whole firehose?
      - Which partition should I read from the sampled Likes stream?
      instructions:
      - text: Stream the 10% Likes sample on partition {partition}.
        slots:
          partition: query.partition
      - text: Connect to sampled Likes, partition {partition}, starting {start_time}.
        slots:
          partition: query.partition
          start_time: query.start_time
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/tweets/compliance/stream'].get
  update:
    x-apievangelist-phrasing:
      intent: Stream Posts compliance events
      effect: read
      questions:
      - Where do I receive compliance events for Posts I've stored?
      - Does the Posts compliance stream require a partition?
      instructions:
      - text: Stream Posts compliance data on partition {partition}.
        slots:
          partition: query.partition
      - text: Read Posts compliance events for partition {partition} from {start_time}.
        slots:
          partition: query.partition
          start_time: query.start_time
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/tweets/firehose/stream'].get
  update:
    x-apievangelist-phrasing:
      intent: Stream every public Post in all languages
      effect: read
      questions:
      - Is there a full firehose of every public Post in real time?
      - Can I backfill the all-language Posts firehose after a disconnect?
      instructions:
      - text: Stream the full all-language Posts firehose on partition {partition}.
        slots:
          partition: query.partition
      - text: Connect to every public Post, partition {partition}, with {backfill_minutes} minutes backfill.
        slots:
          partition: query.partition
          backfill_minutes: query.backfill_minutes
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/tweets/firehose/stream/lang/en'].get
  update:
    x-apievangelist-phrasing:
      intent: Stream all English-language Posts
      effect: read
      questions:
      - Can I get a firehose of only English-language Posts?
      - Which stream gives me every public Post written in English?
      instructions:
      - text: Stream English Posts on partition {partition}.
        slots:
          partition: query.partition
      - text: Connect to the English-language firehose for partition {partition}.
        slots:
          partition: query.partition
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/tweets/firehose/stream/lang/ja'].get
  update:
    x-apievangelist-phrasing:
      intent: Stream all Japanese-language Posts
      effect: read
      questions:
      - Can I get a firehose of only Japanese-language Posts?
      - Which stream gives me every public Post written in Japanese?
      instructions:
      - text: Stream Japanese Posts on partition {partition}.
        slots:
          partition: query.partition
      - text: Connect to the Japanese-language firehose for partition {partition}.
        slots:
          partition: query.partition
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/tweets/firehose/stream/lang/ko'].get
  update:
    x-apievangelist-phrasing:
      intent: Stream all Korean-language Posts
      effect: read
      questions:
      - Can I get a firehose of only Korean-language Posts?
      - Which stream gives me every public Post written in Korean?
      instructions:
      - text: Stream Korean Posts on partition {partition}.
        slots:
          partition: query.partition
      - text: Connect to the Korean-language firehose for partition {partition}.
        slots:
          partition: query.partition
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/tweets/firehose/stream/lang/pt'].get
  update:
    x-apievangelist-phrasing:
      intent: Stream all Portuguese-language Posts
      effect: read
      questions:
      - Can I get a firehose of only Portuguese-language Posts?
      - Which stream gives me every public Post written in Portuguese?
      instructions:
      - text: Stream Portuguese Posts on partition {partition}.
        slots:
          partition: query.partition
      - text: Connect to the Portuguese-language firehose for partition {partition}.
        slots:
          partition: query.partition
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/tweets/label/stream'].get
  update:
    x-apievangelist-phrasing:
      intent: Stream labels applied to Posts
      effect: read
      questions:
      - How can I receive labeling events as they're applied to Posts?
      - Can I replay Post label events over a time window?
      instructions:
      - text: Stream Post labeling events.
      - text: Stream Post labels applied between {start_time} and {end_time}.
        slots:
          start_time: query.start_time
          end_time: query.end_time
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/tweets/sample/stream'].get
  update:
    x-apievangelist-phrasing:
      intent: Stream a 1% sample of Posts
      effect: read
      questions:
      - Is there a lightweight 1 percent sample stream of public Posts?
      - Can the 1% Posts sample include author details?
      instructions:
      - text: Connect to the 1% sampled Posts stream.
      - text: Stream the 1% Post sample with {backfill_minutes} minutes backfill.
        slots:
          backfill_minutes: query.backfill_minutes
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/tweets/sample10/stream'].get
  update:
    x-apievangelist-phrasing:
      intent: Stream a 10% sample of Posts
      effect: read
      questions:
      - Can I get a 10 percent sample of public Posts in real time?
      - Which partition do I read for the 10% Posts sample?
      instructions:
      - text: Stream the 10% Posts sample on partition {partition}.
        slots:
          partition: query.partition
      - text: Connect to the decahose-style 10% Post sample, partition {partition}, from {start_time}.
        slots:
          partition: query.partition
          start_time: query.start_time
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/tweets/search/stream'].get
  update:
    x-apievangelist-phrasing:
      intent: Stream Posts matching my rules
      effect: read
      questions:
      - Where do I receive Posts in real time that match my filtered-stream rules?
      - Can the filtered stream backfill Posts I missed while disconnected?
      instructions:
      - text: Connect to my filtered stream of Posts.
      - text: Stream rule-matching Posts with {backfill_minutes} minutes backfill.
        slots:
          backfill_minutes: query.backfill_minutes
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/tweets/search/stream/rules'].get
  update:
    x-apievangelist-phrasing:
      intent: List my filtered-stream rules
      effect: read
      questions:
      - Which filtered-stream rules are active for my app?
      - Can I fetch just specific stream rules by their IDs?
      instructions:
      - text: List my active filtered-stream rules.
      - text: Get stream rules {ids}.
        slots:
          ids: query.ids
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/tweets/search/stream/rules'].post
  update:
    x-apievangelist-phrasing:
      intent: Add or delete filtered-stream rules
      effect: write
      questions:
      - What call adds a new rule to my filtered stream?
      - Can I dry-run a rule change to validate it without committing?
      - Is there a way to wipe every filtered-stream rule at once?
      instructions:
      - text: Add filtered-stream rules {add}.
        slots:
          add: requestBody.add
      - text: Delete stream rules {delete}.
        slots:
          delete: requestBody.delete
      - text: Validate adding {add} as a dry run with dry_run {dry_run}.
        slots:
          add: requestBody.add
          dry_run: query.dry_run
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/tweets/search/stream/rules/counts'].get
  update:
    x-apievangelist-phrasing:
      intent: Count my filtered-stream rules
      effect: read
      questions:
      - How many filtered-stream rules do I have in place?
      - Can I see rule-count totals for my stream?
      instructions:
      - text: Show my filtered-stream rule counts.
      - text: Count the rules on my stream with fields {fields}.
        slots:
          fields: query.rules_count.fields
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/users/compliance/stream'].get
  update:
    x-apievangelist-phrasing:
      intent: Stream Users compliance events
      effect: read
      questions:
      - Where do I get compliance events for user accounts I've stored?
      - Which partition does the Users compliance stream need?
      instructions:
      - text: Stream Users compliance data on partition {partition}.
        slots:
          partition: query.partition
      - text: Read Users compliance events for partition {partition} since {start_time}.
        slots:
          partition: query.partition
          start_time: query.start_time
      method: generated
      generated: '2026-09-26'