X · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for X API v2 Bots API

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

$.info
$.paths['/2/bots'].get
$.paths['/2/bots'].post
$.paths['/2/bots/{id}'].put
$.paths['/2/bots/{id}'].delete
$.paths['/2/bots/{id}/token'].post
$.paths['/2/bots/{id}/token'].delete

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 Bots API
  version: 1.0.0
extends: openapi/x-bots-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: 6
- target: $.paths['/2/bots'].get
  update:
    x-apievangelist-phrasing:
      intent: List bots in my project
      effect: read
      questions:
      - Which bot accounts exist in my app's project?
      - How can I see all the bots I've created?
      instructions:
      - text: List all my project's bot accounts.
      - text: Show my bots with user fields {user_fields}.
        slots:
          user_fields: query.user.fields
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/bots'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a bot account
      effect: write
      questions:
      - How do I create a bot account and get its bearer token?
      - Is it safe to retry bot creation with the same handle if the response was lost?
      instructions:
      - text: Create a bot with handle {handle}.
        slots:
          handle: requestBody.handle
      - text: Create bot {handle} named {display_name} with scopes {scopes}.
        slots:
          handle: requestBody.handle
          display_name: requestBody.display_name
          scopes: requestBody.scopes
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/bots/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a bot's handle, name or DM permission
      effect: write
      questions:
      - Can I rename an existing bot or change its handle?
      - How do I control who is allowed to DM my bot?
      instructions:
      - text: Rename bot {id} to display name {display_name}.
        slots:
          id: path.id
          display_name: requestBody.display_name
      - text: Set DM permission on bot {id} to {dm_permission}.
        slots:
          id: path.id
          dm_permission: requestBody.dm_permission
      - text: Change bot {id}'s handle to {handle}.
        slots:
          id: path.id
          handle: requestBody.handle
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/bots/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a bot account
      effect: destructive
      questions:
      - What's needed to permanently remove a bot from my project?
      - What's the call to delete a bot account?
      instructions:
      - text: Delete bot {id}.
        slots:
          id: path.id
      - text: Remove the bot account {id} from my project.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/bots/{id}/token'].post
  update:
    x-apievangelist-phrasing:
      intent: Rotate a bot's bearer token
      effect: write
      questions:
      - How do I issue a fresh bearer token for my bot?
      - Can I change the scopes when rotating a bot token?
      instructions:
      - text: Rotate the bearer token for bot {id}.
        slots:
          id: path.id
      - text: Mint a new token for bot {id} with scopes {scopes}.
        slots:
          id: path.id
          scopes: requestBody.scopes
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/bots/{id}/token'].delete
  update:
    x-apievangelist-phrasing:
      intent: Revoke a bot's bearer token
      effect: destructive
      questions:
      - How do I kill a leaked bot token without deleting the bot?
      - Can I revoke a bot's token so it can no longer call the API?
      instructions:
      - text: Revoke the token for bot {id}.
        slots:
          id: path.id
      - text: Invalidate bot {id}'s current bearer token without issuing a new one.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'