X · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for X API v2 Webhooks API

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

$.info
$.paths['/2/tweets/search/webhooks'].get
$.paths['/2/tweets/search/webhooks/{webhook_id}'].post
$.paths['/2/tweets/search/webhooks/{webhook_id}'].delete
$.paths['/2/webhooks'].get
$.paths['/2/webhooks'].post
$.paths['/2/webhooks/replay'].post
$.paths['/2/webhooks/{webhook_id}'].put
$.paths['/2/webhooks/{webhook_id}'].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 Webhooks API
  version: 1.0.0
extends: openapi/x-webhooks-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: 8
- target: $.paths['/2/tweets/search/webhooks'].get
  update:
    x-apievangelist-phrasing:
      intent: List filtered-stream webhook links
      effect: read
      questions:
      - Which webhooks are currently receiving my filtered stream events?
      - Can I see the stream-to-webhook links for my ruleset?
      instructions:
      - text: List the webhooks linked to my filtered stream.
      - text: Show my filtered-stream webhook links.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/tweets/search/webhooks/{webhook_id}'].post
  update:
    x-apievangelist-phrasing:
      intent: Deliver filtered stream events to a webhook
      effect: write
      questions:
      - How do I get filtered stream matches pushed to a webhook instead of holding a connection open?
      - Can I link my filtered stream rules to a registered webhook?
      instructions:
      - text: Link my filtered stream to webhook {webhook_id}.
        slots:
          webhook_id: path.webhook_id
      - text: Start pushing filtered stream events to {webhook_id}.
        slots:
          webhook_id: path.webhook_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/tweets/search/webhooks/{webhook_id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Stop filtered stream delivery to a webhook
      effect: destructive
      questions:
      - Can I stop filtered stream events going to a webhook?
      - Can I unlink a webhook from my filtered stream without deleting the webhook?
      instructions:
      - text: Unlink webhook {webhook_id} from my filtered stream.
        slots:
          webhook_id: path.webhook_id
      - text: Stop delivering stream matches to {webhook_id}.
        slots:
          webhook_id: path.webhook_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/webhooks'].get
  update:
    x-apievangelist-phrasing:
      intent: List my app's webhook configs
      effect: read
      questions:
      - Which webhook URLs are registered for my app?
      - Is my webhook config currently marked valid?
      instructions:
      - text: List my app's webhook configurations.
      - text: Show my registered webhooks with fields {fields}.
        slots:
          fields: query.webhook_config.fields
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/webhooks'].post
  update:
    x-apievangelist-phrasing:
      intent: Register a webhook URL
      effect: write
      questions:
      - How do I register a new webhook URL with X?
      - Can I add a webhook config for a URL my app hosts?
      instructions:
      - text: Register webhook URL {url}.
        slots:
          url: requestBody.url
      - text: Create a new webhook config pointing at {url}.
        slots:
          url: requestBody.url
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/webhooks/replay'].post
  update:
    x-apievangelist-phrasing:
      intent: Replay missed webhook events
      effect: write
      questions:
      - Can I get events my webhook missed during an outage re-delivered?
      - How far back can a webhook replay job go?
      instructions:
      - text: Replay events to webhook {webhook_id} from {from_date} to {to_date}.
        slots:
          webhook_id: requestBody.webhook_id
          from_date: requestBody.from_date
          to_date: requestBody.to_date
      - text: Re-deliver webhook {webhook_id} events between {from_date} and {to_date}.
        slots:
          webhook_id: requestBody.webhook_id
          from_date: requestBody.from_date
          to_date: requestBody.to_date
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/webhooks/{webhook_id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Trigger a CRC check on a webhook
      effect: write
      questions:
      - Can I re-validate my webhook with a fresh CRC challenge?
      - My webhook was marked invalid — can I trigger a new CRC check?
      instructions:
      - text: Run a CRC check on webhook {webhook_id}.
        slots:
          webhook_id: path.webhook_id
      - text: Re-validate webhook {webhook_id}.
        slots:
          webhook_id: path.webhook_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/webhooks/{webhook_id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a webhook config
      effect: destructive
      questions:
      - Can I remove a webhook URL I no longer use?
      - What's the call to delete a webhook configuration?
      instructions:
      - text: Delete webhook {webhook_id}.
        slots:
          webhook_id: path.webhook_id
      - text: Remove the webhook config {webhook_id} from my app.
        slots:
          webhook_id: path.webhook_id
      method: generated
      generated: '2026-09-26'