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.
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
# 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'