X · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for X API v2 Compliance API

7 actions 7 updates phrasing extends openapi/x-compliance-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/compliance/jobs'].get
$.paths['/2/compliance/jobs'].post
$.paths['/2/compliance/jobs/{id}'].get
$.paths['/2/compliance/jobs/{id}'].delete
$.paths['/2/compliance/jobs/{id}/download'].get
$.paths['/2/compliance/jobs/{id}/upload'].put

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 Compliance API
  version: 1.0.0
extends: openapi/x-compliance-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/compliance/jobs'].get
  update:
    x-apievangelist-phrasing:
      intent: List compliance jobs by type
      effect: read
      questions:
      - Which batch compliance jobs have I created for posts or users?
      - Can I filter my compliance jobs to only the ones still in progress?
      instructions:
      - text: List my {type} compliance jobs.
        slots:
          type: query.type
      - text: Show {type} compliance jobs with status {status}.
        slots:
          type: query.type
          status: query.status
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/compliance/jobs'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a batch compliance job
      effect: write
      questions:
      - How do I check a stored dataset of post or user IDs for deletions and suspensions?
      - Can I get a resumable upload URL when starting a compliance job?
      instructions:
      - text: Create a {type} compliance job.
        slots:
          type: requestBody.type
      - text: Start a {type} compliance job named {name} with resumable upload {resumable}.
        slots:
          type: requestBody.type
          name: requestBody.name
          resumable: requestBody.resumable
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/compliance/jobs/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Check a compliance job's status
      effect: read
      questions:
      - Has my compliance job finished processing yet?
      - Where do I find the download URL for one compliance job?
      instructions:
      - text: Get the status of compliance job {id}.
        slots:
          id: path.id
      - text: Show details for compliance job {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/compliance/jobs/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Cancel an unfinished compliance job
      effect: destructive
      questions:
      - Can I cancel a compliance job that's still processing so I can start another of the same type?
      - What status does a cancelled compliance job end up in?
      instructions:
      - text: Cancel compliance job {id}.
        slots:
          id: path.id
      - text: Stop the unfinished compliance job {id} so I can create a new one.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/compliance/jobs/{id}/download'].get
  update:
    x-apievangelist-phrasing:
      intent: Download a compliance job's results
      effect: read
      questions:
      - Where do I get the results file once a compliance job completes?
      - What token is needed to download compliance results?
      instructions:
      - text: Download the results of compliance job {id} using token {token}.
        slots:
          id: path.id
          token: query.token
      - text: Fetch the finished results file for job {id} with signed token {token}.
        slots:
          id: path.id
          token: query.token
      method: generated
      generated: '2026-09-26'
- target: $.paths['/2/compliance/jobs/{id}/upload'].put
  update:
    x-apievangelist-phrasing:
      intent: Upload IDs to a compliance job
      effect: write
      questions:
      - How do I upload my newline-delimited ID file to a compliance job?
      - Is a signed token required to upload compliance job input?
      instructions:
      - text: Upload my ID file to compliance job {id} with token {token}.
        slots:
          id: path.id
          token: query.token
      - text: Submit the newline-delimited IDs for job {id} using signed token {token}.
        slots:
          id: path.id
          token: query.token
      method: generated
      generated: '2026-09-26'