How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

OpenAI Realtime API

The Realtime API enables low-latency, bidirectional communication with models that natively support speech-to-speech interactions as well as multimodal inputs (audio, images, and text) and outputs (audio and text). It supports WebRTC, WebSocket, and SIP connection methods for real-time voice agents and conversational interfaces. The Realtime API is represented as a dedicated tag group in the upstream OpenAI OpenAPI specification with operations covering client/server events, translation client secrets, and voice call lifecycle (accept, hangup, refer, reject).

OpenAI Realtime API is one of 51 APIs that OpenAI publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 2 JSON Schema definitions.

Tagged areas include Real-Time. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, a JSON-LD context, and 2 JSON Schemas.

This event API exposes 37 operations across 37 channels, and defines 99 schemas. It is described by AsyncAPI 2.6.0, at version 2024-10-01.

The API connects through a single server, api.openai.com/v1/realtime (wss).

37 operations 37 channels 99 schemas

Metadata

The identity and technical contract details declared by the specification.

Specification
AsyncAPI 2.6.0
API Version
2024-10-01
Base URL
https://api.openai.com
Contact
Resource Areas
1

Channels & Operations 37

Across 37 channels, the API surfaces 37 operations. Each is listed below with its action, channel, parameters, and response codes.

Channels 37
PUB
session.update
Update session configuration.
sendSessionUpdate body
PUB
input_audio_buffer.append
Append audio bytes to the input buffer.
sendInputAudioBufferAppend body
PUB
input_audio_buffer.commit
Commit the input audio buffer.
sendInputAudioBufferCommit body
PUB
input_audio_buffer.clear
Clear the input audio buffer.
sendInputAudioBufferClear body
PUB
conversation.item.create
Insert a conversation item.
sendConversationItemCreate body
PUB
conversation.item.truncate
Truncate an in-progress assistant item.
sendConversationItemTruncate body
PUB
conversation.item.delete
Delete a conversation item.
sendConversationItemDelete body
PUB
response.create
Trigger a model response.
sendResponseCreate body
PUB
response.cancel
Cancel an in-progress response.
sendResponseCancel body
SUB
error
Receive an error event.
receiveError body
SUB
session.created
Receive session.created.
receiveSessionCreated body
SUB
session.updated
Receive session.updated.
receiveSessionUpdated body
SUB
conversation.created
Receive conversation.created.
receiveConversationCreated body
SUB
conversation.item.created
Receive conversation.item.created.
receiveConversationItemCreated body
SUB
conversation.item.input_audio_transcription.completed
Receive inputaudiotranscription.completed.
receiveInputAudioTranscriptionCompleted body
SUB
conversation.item.input_audio_transcription.failed
Receive inputaudiotranscription.failed.
receiveInputAudioTranscriptionFailed body
SUB
conversation.item.truncated
Receive conversation.item.truncated.
receiveConversationItemTruncated body
SUB
conversation.item.deleted
Receive conversation.item.deleted.
receiveConversationItemDeleted body
SUB
input_audio_buffer.committed
Receive inputaudiobuffer.committed.
receiveInputAudioBufferCommitted body
SUB
input_audio_buffer.cleared
Receive inputaudiobuffer.cleared.
receiveInputAudioBufferCleared body
SUB
input_audio_buffer.speech_started
Receive inputaudiobuffer.speechstarted.
receiveSpeechStarted body
SUB
input_audio_buffer.speech_stopped
Receive inputaudiobuffer.speechstopped.
receiveSpeechStopped body
SUB
response.created
Receive response.created.
receiveResponseCreated body
SUB
response.done
Receive response.done.
receiveResponseDone body
SUB
response.output_item.added
Receive response.outputitem.added.
receiveResponseOutputItemAdded body
SUB
response.output_item.done
Receive response.outputitem.done.
receiveResponseOutputItemDone body
SUB
response.content_part.added
Receive response.contentpart.added.
receiveResponseContentPartAdded body
SUB
response.content_part.done
Receive response.contentpart.done.
receiveResponseContentPartDone body
SUB
response.text.delta
Receive response.text.delta.
receiveResponseTextDelta body
SUB
response.text.done
Receive response.text.done.
receiveResponseTextDone body
SUB
response.audio_transcript.delta
Receive response.audiotranscript.delta.
receiveResponseAudioTranscriptDelta body
SUB
response.audio_transcript.done
Receive response.audiotranscript.done.
receiveResponseAudioTranscriptDone body
SUB
response.audio.delta
Receive response.audio.delta.
receiveResponseAudioDelta body
SUB
response.audio.done
Receive response.audio.done.
receiveResponseAudioDone body
SUB
response.function_call_arguments.delta
Receive response.functioncallarguments.delta.
receiveResponseFunctionCallArgumentsDelta body
SUB
response.function_call_arguments.done
Receive response.functioncallarguments.done.
receiveResponseFunctionCallArgumentsDone body
SUB
rate_limits.updated
Receive ratelimits.updated.
receiveRateLimitsUpdated body

Messages & Schemas 99

The contract defines 99 schemas that model the data carried by its messages. The most detailed are Session (14 properties), SessionPatch (11 properties), FunctionCallItem (8 properties), ResponseCreateParams (8 properties). Each schema is shown below with its type and property counts.

SessionUpdate
message
Update session configuration.
InputAudioBufferAppend
message
Append audio bytes to the input buffer.
InputAudioBufferCommit
message
Commit the input audio buffer.
InputAudioBufferClear
message
Clear the input audio buffer.
ConversationItemCreate
message
Insert a conversation item.
ConversationItemTruncate
message
Truncate an assistant item's audio.
ConversationItemDelete
message
Delete a conversation item.
ResponseCreate
message
Trigger a model response.
ResponseCancel
message
Cancel an in-progress response.
Error
message
Server error.
SessionCreated
message
Session has been created.
SessionUpdated
message
Session configuration updated.
ConversationCreated
message
Conversation created.
ConversationItemCreated
message
Conversation item created.
InputAudioTranscriptionCompleted
message
Input audio transcription completed.
InputAudioTranscriptionFailed
message
Input audio transcription failed.
ConversationItemTruncated
message
Conversation item truncated.
ConversationItemDeleted
message
Conversation item deleted.
InputAudioBufferCommitted
message
Input audio buffer committed.
InputAudioBufferCleared
message
Input audio buffer cleared.
InputAudioBufferSpeechStarted
message
VAD speech started.
InputAudioBufferSpeechStopped
message
VAD speech stopped.
ResponseCreated
message
Response generation started.
ResponseDone
message
Response generation finished.
ResponseOutputItemAdded
message
New output item added to response.
ResponseOutputItemDone
message
Output item on response complete.
ResponseContentPartAdded
message
Content part added to output item.
ResponseContentPartDone
message
Content part on output item complete.
ResponseTextDelta
message
Text delta for assistant message.
ResponseTextDone
message
Text content part complete.
ResponseAudioTranscriptDelta
message
Transcript delta for audio content part.
ResponseAudioTranscriptDone
message
Transcript for audio content part complete.
ResponseAudioDelta
message
Base64 audio delta for audio content part.
ResponseAudioDone
message
Audio content part complete.
ResponseFunctionCallArgumentsDelta
message
Function-call arguments delta.
ResponseFunctionCallArgumentsDone
message
Function-call arguments complete.
RateLimitsUpdated
message
Current rate limit state.
AudioFormat
string
Supported realtime audio codecs.
Voice
string
Realtime model voice.
Modality
string
TurnDetection
object
Server-side voice activity detection config. Set to null to disable.
4 properties 1 required
InputAudioTranscription
object
Input audio transcription config. Set to null to disable. When enabled, the server emits conversation.item.inputaudiotranscription.completed for each user audi…
1 property 1 required
ToolDefinition
object
4 properties 2 required
ToolChoice
object
MaxResponseOutputTokens
object
Max output tokens per response, or inf for unlimited.
Session
object
Server-side session configuration.
14 properties
SessionPatch
object
Subset of session fields that may be supplied on session.update. Only included properties are modified.
11 properties
Conversation
object
2 properties
ItemStatus
string
InputTextContent
object
2 properties 2 required
InputAudioContent
object
3 properties 1 required
TextContent
object
2 properties 2 required
AudioContent
object
3 properties 1 required
ContentPart
object
MessageItem
object
7 properties 3 required
FunctionCallItem
object
8 properties 4 required
FunctionCallOutputItem
object
6 properties 3 required
Item
object
Response
object
6 properties
ResponseCreateParams
object
Optional per-response overrides for response.create. Any fields omitted fall back to the session defaults.
8 properties
ErrorObject
object
5 properties 2 required
RateLimit
object
4 properties 4 required
SessionUpdateEvent
object
Client event used to update the session's default configuration. The server responds with session.updated.
3 properties 2 required
InputAudioBufferAppendEvent
object
Append base64-encoded audio bytes to the input audio buffer.
3 properties 2 required
InputAudioBufferCommitEvent
object
Commit the audio currently in the input audio buffer to the conversation as a user message item.
2 properties 1 required
InputAudioBufferClearEvent
object
Clear the input audio buffer without creating a user message.
2 properties 1 required
ConversationItemCreateEvent
object
Insert a conversation item into the conversation history. Items may be messages (system/user/assistant), function calls, or functioncalloutput records.
4 properties 2 required
ConversationItemTruncateEvent
object
Truncate an in-progress assistant audio item at audioendms.
5 properties 4 required
ConversationItemDeleteEvent
object
Delete a conversation item by id.
3 properties 2 required
ResponseCreateEvent
object
Instruct the server to generate a model response.
3 properties 1 required
ResponseCancelEvent
object
Cancel an in-progress model response.
2 properties 1 required
ErrorEvent
object
3 properties 2 required
SessionCreatedEvent
object
3 properties 2 required
SessionUpdatedEvent
object
3 properties 2 required
ConversationCreatedEvent
object
3 properties 2 required
ConversationItemCreatedEvent
object
4 properties 2 required
InputAudioTranscriptionCompletedEvent
object
5 properties 4 required
InputAudioTranscriptionFailedEvent
object
5 properties 4 required
ConversationItemTruncatedEvent
object
5 properties 4 required
ConversationItemDeletedEvent
object
3 properties 2 required
InputAudioBufferCommittedEvent
object
4 properties 2 required
InputAudioBufferClearedEvent
object
2 properties 1 required
InputAudioBufferSpeechStartedEvent
object
4 properties 3 required
InputAudioBufferSpeechStoppedEvent
object
4 properties 3 required
ResponseCreatedEvent
object
3 properties 2 required
ResponseDoneEvent
object
3 properties 2 required
ResponseOutputItemAddedEvent
object
5 properties 4 required
ResponseOutputItemDoneEvent
object
5 properties 4 required
ResponseContentPartAddedEvent
object
7 properties 6 required
ResponseContentPartDoneEvent
object
7 properties 6 required
ResponseTextDeltaEvent
object
7 properties 6 required
ResponseTextDoneEvent
object
7 properties 6 required
ResponseAudioTranscriptDeltaEvent
object
7 properties 6 required
ResponseAudioTranscriptDoneEvent
object
7 properties 6 required
ResponseAudioDeltaEvent
object
7 properties 6 required
ResponseAudioDoneEvent
object
6 properties 5 required
ResponseFunctionCallArgumentsDeltaEvent
object
7 properties 6 required
ResponseFunctionCallArgumentsDoneEvent
object
7 properties 6 required
RateLimitsUpdatedEvent
object
3 properties 2 required

Specification

The full machine-readable AsyncAPI contract behind this narrative.

Source

openai-realtime-asyncapi.yml Raw ↑

Other APIs OpenAI publishes across the network.

OpenAI Responses API
OpenAI Moderations API
OpenAI Batch API
OpenAI Vector Stores API
OpenAI Uploads API
OpenAI Evals API
OpenAI Videos API
OpenAI Conversations API
OpenAI Containers API
OpenAI ChatKit API
OpenAI Skills API
OpenAI Agents SDK
Where this information came from

This is an independent, third-party profile of OpenAI Realtime API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.