OpenAI · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for OpenAI Realtime API

10 actions 10 updates phrasing extends openapi/openai-realtime-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for OpenAI's API. It is a proposal applied on top of the contract, not a document OpenAI publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 10

$.info
$.paths['/realtime/calls'].post
$.paths['/realtime/calls/{call_id}/accept'].post
$.paths['/realtime/calls/{call_id}/hangup'].post
$.paths['/realtime/calls/{call_id}/refer'].post
$.paths['/realtime/calls/{call_id}/reject'].post
$.paths['/realtime/client_secrets'].post
$.paths['/realtime/sessions'].post
$.paths['/realtime/transcription_sessions'].post
$.paths['/realtime/translations/client_secrets'].post

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 OpenAI Realtime API
  version: 1.0.0
extends: openapi/openai-realtime-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['/realtime/calls'].post
  update:
    x-apievangelist-phrasing:
      intent: Start a realtime voice call over WebRTC
      effect: write
      questions:
      - How do I connect a browser to a realtime voice session over WebRTC?
      - Where do I send my SDP offer to get an answer back for a realtime call?
      instructions:
      - text: Start a WebRTC realtime call with SDP offer {sdp}.
        slots:
          sdp: requestBody.sdp
      - text: Open a realtime call using offer {sdp} and session config {session}.
        slots:
          sdp: requestBody.sdp
          session: requestBody.session
      method: generated
      generated: '2026-09-26'
- target: $.paths['/realtime/calls/{call_id}/accept'].post
  update:
    x-apievangelist-phrasing:
      intent: Accept an incoming SIP call
      effect: write
      questions:
      - When a phone call comes in over SIP, how do I answer it with a realtime model?
      - Can I set instructions and the model at the moment I pick up an incoming call?
      instructions:
      - text: Accept incoming call {call_id} as a {type} session.
        slots:
          call_id: path.call_id
          type: requestBody.type
      - text: Answer SIP call {call_id} as a {type} session on model {model} with instructions {instructions}.
        slots:
          call_id: path.call_id
          type: requestBody.type
          model: requestBody.model
          instructions: requestBody.instructions
      method: generated
      generated: '2026-09-26'
- target: $.paths['/realtime/calls/{call_id}/hangup'].post
  update:
    x-apievangelist-phrasing:
      intent: Hang up an active realtime call
      effect: destructive
      questions:
      - How do I end a live realtime call from my server?
      - Can I hang up a call whether it came in over SIP or WebRTC?
      instructions:
      - text: Hang up call {call_id}.
        slots:
          call_id: path.call_id
      - text: End the active realtime call {call_id} now.
        slots:
          call_id: path.call_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/realtime/calls/{call_id}/refer'].post
  update:
    x-apievangelist-phrasing:
      intent: Transfer a SIP call to another destination
      effect: write
      questions:
      - Can I transfer a caller from the voice agent to a human's phone line?
      - How do I forward an active SIP call somewhere else?
      instructions:
      - text: Transfer call {call_id} to {target_uri}.
        slots:
          call_id: path.call_id
          target_uri: requestBody.target_uri
      - text: Forward the SIP call {call_id} to destination {target_uri}.
        slots:
          call_id: path.call_id
          target_uri: requestBody.target_uri
      method: generated
      generated: '2026-09-26'
- target: $.paths['/realtime/calls/{call_id}/reject'].post
  update:
    x-apievangelist-phrasing:
      intent: Decline an incoming SIP call
      effect: destructive
      questions:
      - Can I refuse an incoming phone call instead of answering it?
      - What SIP status code is sent when I decline a call without choosing one?
      instructions:
      - text: Reject incoming call {call_id}.
        slots:
          call_id: path.call_id
      - text: Decline call {call_id} with SIP status code {status_code}.
        slots:
          call_id: path.call_id
          status_code: requestBody.status_code
      method: generated
      generated: '2026-09-26'
- target: $.paths['/realtime/client_secrets'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a short-lived realtime client secret
      effect: write
      questions:
      - How can my web or mobile app talk to the realtime model without exposing my API key?
      - Can I control how long a realtime client secret stays valid?
      instructions:
      - text: Create a realtime client secret for session config {session}.
        slots:
          session: requestBody.session
      - text: Mint a realtime client secret that expires after {expires_after}.
        slots:
          expires_after: requestBody.expires_after
      method: generated
      generated: '2026-09-26'
- target: $.paths['/realtime/sessions'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an ephemeral realtime session token
      effect: write
      questions:
      - Can I preconfigure voice, instructions and tools when creating a realtime session token?
      - What's the session endpoint that returns an ephemeral key for client-side realtime use?
      instructions:
      - text: Create a realtime session with client secret settings {client_secret}.
        slots:
          client_secret: requestBody.client_secret
      - text: Create a realtime session using voice {voice} and instructions {instructions}, with client secret settings {client_secret}.
        slots:
          voice: requestBody.voice
          instructions: requestBody.instructions
          client_secret: requestBody.client_secret
      method: generated
      generated: '2026-09-26'
- target: $.paths['/realtime/transcription_sessions'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a realtime transcription session
      effect: write
      questions:
      - How do I set up live speech-to-text streaming from a client app?
      - Can I turn on noise reduction for a realtime transcription session?
      instructions:
      - text: Create a realtime transcription session.
      - text: Start a live transcription session with transcription settings {input_audio_transcription}.
        slots:
          input_audio_transcription: requestBody.input_audio_transcription
      - text: Create a transcription session with noise reduction {input_audio_noise_reduction}.
        slots:
          input_audio_noise_reduction: requestBody.input_audio_noise_reduction
      method: generated
      generated: '2026-09-26'
- target: $.paths['/realtime/translations/client_secrets'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a realtime translation client secret
      effect: write
      questions:
      - How do I let a client app do live speech translation securely?
      - Can I set how long a realtime translation client secret lasts?
      instructions:
      - text: Create a realtime translation client secret for translation session {session}.
        slots:
          session: requestBody.session
      - text: Mint a translation client secret for {session} that expires after {expires_after}.
        slots:
          session: requestBody.session
          expires_after: requestBody.expires_after
      method: generated
      generated: '2026-09-26'

Work with this as data

Every overlay here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/openai-realtime-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.