# 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'