X · OpenAPI Overlay 1.0.0

API Evangelist enhancements to the X API v2 OpenAPI

2 actions 2 updates update
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-discoveryx-conventions

Targets 1

$.info

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements to the X API v2 OpenAPI
  version: 1.0.0
x-provenance:
  generated: '2026-08-28'
  method: generated
  source: openapi/_original/x-api-v2-openapi.json
  description: >-
    Captures every change API Evangelist applies on top of X's published OpenAPI
    (harvested verbatim from https://api.x.com/2/openapi.json, version 2.168) when
    producing the per-tag documents in openapi/. The original is never mutated.
    The per-tag split itself is structural and is recorded here as a note rather than
    as an action, because Overlay cannot express document fan-out.
  extends: openapi/_original/x-api-v2-openapi.json
  split_note: >-
    openapi/x-<tag>-api-openapi.yml are 23 tag-scoped documents mechanically derived from
    the original, each carrying the transitive closure of the components its operations
    reference. No operation, parameter, schema or response was added, removed or reworded.
actions:
- target: $.info
  description: Point info.description at the machine-readable discovery surfaces X publishes, so an agent reading only the spec can find them.
  update:
    x-discovery:
      openapi: https://api.x.com/2/openapi.json
      llms_txt: https://docs.x.com/llms.txt
      agents_md: https://docs.x.com/AGENTS.md
      agent_skill: https://docs.x.com/.well-known/agent-skills/x/skill.md
      agent_card: https://docs.x.com/.well-known/agent-card.json
      mcp: https://api.x.com/mcp
      docs_mcp: https://docs.x.com/mcp
      oauth_authorization_server: https://api.x.com/.well-known/oauth-authorization-server
      oauth_protected_resource: https://api.x.com/.well-known/oauth-protected-resource
      changelog: https://docs.x.com/changelog
      changelog_rss: https://docs.x.com/changelog/rss.xml
      status: https://developer.x.com/status
      rate_limits: https://docs.x.com/x-api/fundamentals/rate-limits
      pricing: https://docs.x.com/x-api/getting-started/pricing
- target: $.info
  description: Record the runtime conventions X documents outside the contract, which the contract itself does not state.
  update:
    x-conventions:
      rate_limit_headers: [x-rate-limit-limit, x-rate-limit-remaining, x-rate-limit-reset]
      rate_limit_status: 429
      error_format: rfc9457
      error_media_type: application/problem+json
      partial_errors: >-
        A 200 response may carry both `data` and `errors`; callers must inspect `errors`
        even on success.
      pagination: token-based via `pagination_token` request parameter and `next_token` in `meta`
      sparse_fieldsets: '`*.fields` parameters plus `expansions` for related objects'
      billing: pay-per-usage credits, deduplicated per resource within a 24-hour UTC window