X · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for X API v2 Lists API

10 actions 10 updates phrasing extends openapi/x-lists-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 10

$.info
$.paths['/2/lists'].post
$.paths['/2/lists/{id}'].get
$.paths['/2/lists/{id}'].put
$.paths['/2/lists/{id}'].delete
$.paths['/2/lists/{id}/followers'].get
$.paths['/2/lists/{id}/members'].get
$.paths['/2/lists/{id}/members'].post
$.paths['/2/lists/{id}/members/{user_id}'].delete
$.paths['/2/lists/{id}/tweets'].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 Lists API
  version: 1.0.0
extends: openapi/x-lists-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: 9
- target: $.paths['/2/lists'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a List
      effect: write
      questions:
      - Can I create a new List on X via the API?
      - Can I make a List private when I create it?
      instructions:
      - text: Create a List named {name}.
        slots:
          name: requestBody.name
      - text: Make a new List {name} described as {description} with private set to {private}.
        slots:
          name: requestBody.name
          description: requestBody.description
          private: requestBody.private
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/lists/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a List's details
      effect: read
      questions:
      - What are the name, owner and description of a given List?
      - Can I expand the owner's profile when looking up a List?
      instructions:
      - text: Get List {id}.
        slots:
          id: path.id
      - text: Show List {id} with fields {fields}.
        slots:
          id: path.id
          fields: query.list.fields
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/lists/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Rename or edit a List I own
      effect: write
      questions:
      - Can I rename an existing List or change its description?
      - How do I switch one of my Lists from public to private?
      instructions:
      - text: Rename List {id} to {name}.
        slots:
          id: path.id
          name: requestBody.name
      - text: Set List {id} private to {private}.
        slots:
          id: path.id
          private: requestBody.private
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/lists/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a List I own
      effect: destructive
      questions:
      - What's the call to delete one of my Lists?
      - Is deleting a List permanent?
      instructions:
      - text: Delete List {id}.
        slots:
          id: path.id
      - text: Remove my List {id} entirely.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/lists/{id}/followers'].get
  update:
    x-apievangelist-phrasing:
      intent: List a List's followers
      effect: read
      questions:
      - Who follows a particular List?
      - Can I page through all the followers of a List?
      instructions:
      - text: Show the followers of List {id}.
        slots:
          id: path.id
      - text: Get {max_results} users who follow List {id}.
        slots:
          max_results: query.max_results
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/lists/{id}/members'].get
  update:
    x-apievangelist-phrasing:
      intent: List the members of a List
      effect: read
      questions:
      - Which accounts are members of a given List?
      - What's the call to see everyone added to a List?
      instructions:
      - text: Show the members of List {id}.
        slots:
          id: path.id
      - text: Get {max_results} accounts that belong to List {id}.
        slots:
          max_results: query.max_results
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/lists/{id}/members'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a user to a List
      effect: write
      questions:
      - Can I add an account to one of my Lists?
      - Can I put a user on a List by their user ID?
      instructions:
      - text: Add user {user_id} to List {id}.
        slots:
          user_id: requestBody.user_id
          id: path.id
      - text: Put {user_id} on my List {id}.
        slots:
          user_id: requestBody.user_id
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/lists/{id}/members/{user_id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove a user from a List
      effect: destructive
      questions:
      - What removes someone from one of my Lists?
      - Can I remove a member from a List using their user ID?
      instructions:
      - text: Remove user {user_id} from List {id}.
        slots:
          user_id: path.user_id
          id: path.id
      - text: Take {user_id} off my List {id}.
        slots:
          user_id: path.user_id
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/lists/{id}/tweets'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the posts timeline of a List
      effect: read
      questions:
      - What have members of a List been posting?
      - Can I read a List's timeline of posts through the API?
      instructions:
      - text: Show recent posts from List {id}.
        slots:
          id: path.id
      - text: Get the latest {max_results} posts in List {id}'s timeline.
        slots:
          max_results: query.max_results
          id: path.id
      method: generated
      generated: '2026-09-26'