Every API 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 apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
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 API
curl "https://apis.io/api/v1/apis/openai-users-api"
All apis
curl "https://apis.io/api/v1/apis?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.
openapi: 3.2.0
info:
title: OpenAI Users API
description: The OpenAI REST API. Please see https://platform.openai.com/docs/api-reference for more details.
version: 2.3.0
termsOfService: https://openai.com/policies/terms-of-use
contact:
name: OpenAI Support
url: https://help.openai.com/
license:
name: MIT
url: https://github.com/openai/openai-openapi/blob/master/LICENSE
servers:
- url: https://api.openai.com/v1
security:
- ApiKeyAuth: []
tags:
- name: Users
paths:
/organization/users:
get:
security:
- AdminApiKeyAuth: []
summary: Lists all of the users in the organization.
operationId: list-users
tags:
- Users
parameters:
- name: limit
in: query
description: 'A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20.
'
required: false
schema:
type: integer
default: 20
- name: after
in: query
description: 'A cursor for use in pagination. `after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include after=obj_foo in order to fetch the next page of the list.
'
required: false
schema:
type: string
- name: emails
in: query
description: Filter by the email address of users.
required: false
schema:
type: array
items:
type: string
responses:
'200':
description: Users listed successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/UserListResponse'
x-oaiMeta:
name: List users
group: administration
examples:
request:
curl: "curl https://api.openai.com/v1/organization/users?after=user_abc&limit=20 \\\n -H \"Authorization: Bearer $OPENAI_ADMIN_KEY\" \\\n -H \"Content-Type: application/json\"\n"
node.js: "import OpenAI from 'openai';\n\nconst client = new OpenAI({\n adminAPIKey: process.env['OPENAI_ADMIN_KEY'], // This is the default and can be omitted\n});\n\n// Automatically fetches more pages as needed.\nfor await (const organizationUser of client.admin.organization.users.list()) {\n console.log(organizationUser.id);\n}"
python: "import os\nfrom openai import OpenAI\n\nclient = OpenAI(\n admin_api_key=os.environ.get(\"OPENAI_ADMIN_KEY\"), # This is the default and can be omitted\n)\npage = client.admin.organization.users.list()\npage = page.data[0]\nprint(page.id)"
go: "package main\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\n\t\"github.com/openai/openai-go\"\n\t\"github.com/openai/openai-go/option\"\n)\n\nfunc main() {\n\tclient := openai.NewClient(\n\t\toption.WithAdminAPIKey(\"My Admin API Key\"),\n\t)\n\tpage, err := client.Admin.Organization.Users.List(context.TODO(), openai.AdminOrganizationUserListParams{})\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf(\"%+v\\n\", page)\n}\n"
java: "package com.openai.example;\n\nimport com.openai.client.OpenAIClient;\nimport com.openai.client.okhttp.OpenAIOkHttpClient;\nimport com.openai.models.admin.organization.users.UserListPage;\nimport com.openai.models.admin.organization.users.UserListParams;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n OpenAIClient client = OpenAIOkHttpClient.fromEnv();\n\n UserListPage page = client.admin().organization().users().list();\n }\n}"
ruby: 'require "openai"
openai = OpenAI::Client.new(admin_api_key: "My Admin API Key")
page = openai.admin.organization.users.list
puts(page)'
response: "{\n \"object\": \"list\",\n \"data\": [\n {\n \"object\": \"organization.user\",\n \"id\": \"user_abc\",\n \"name\": \"First Last\",\n \"email\": \"user@example.com\",\n \"role\": \"owner\",\n \"added_at\": 1711471533\n }\n ],\n \"first_id\": \"user-abc\",\n \"last_id\": \"user-xyz\",\n \"has_more\": false\n}\n"
/organization/users/{user_id}:
get:
security:
- AdminApiKeyAuth: []
summary: Retrieves a user by their identifier.
operationId: retrieve-user
tags:
- Users
parameters:
- name: user_id
in: path
description: The ID of the user.
required: true
schema:
type: string
responses:
'200':
description: User retrieved successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/User'
x-oaiMeta:
name: Retrieve user
group: administration
examples:
request:
curl: "curl https://api.openai.com/v1/organization/users/user_abc \\\n -H \"Authorization: Bearer $OPENAI_ADMIN_KEY\" \\\n -H \"Content-Type: application/json\"\n"
node.js: "import OpenAI from 'openai';\n\nconst client = new OpenAI({\n adminAPIKey: process.env['OPENAI_ADMIN_KEY'], // This is the default and can be omitted\n});\n\nconst organizationUser = await client.admin.organization.users.retrieve('user_id');\n\nconsole.log(organizationUser.id);"
python: "import os\nfrom openai import OpenAI\n\nclient = OpenAI(\n admin_api_key=os.environ.get(\"OPENAI_ADMIN_KEY\"), # This is the default and can be omitted\n)\norganization_user = client.admin.organization.users.retrieve(\n \"user_id\",\n)\nprint(organization_user.id)"
go: "package main\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\n\t\"github.com/openai/openai-go\"\n\t\"github.com/openai/openai-go/option\"\n)\n\nfunc main() {\n\tclient := openai.NewClient(\n\t\toption.WithAdminAPIKey(\"My Admin API Key\"),\n\t)\n\torganizationUser, err := client.Admin.Organization.Users.Get(context.TODO(), \"user_id\")\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf(\"%+v\\n\", organizationUser.ID)\n}\n"
java: "package com.openai.example;\n\nimport com.openai.client.OpenAIClient;\nimport com.openai.client.okhttp.OpenAIOkHttpClient;\nimport com.openai.models.admin.organization.users.OrganizationUser;\nimport com.openai.models.admin.organization.users.UserRetrieveParams;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n OpenAIClient client = OpenAIOkHttpClient.fromEnv();\n\n OrganizationUser organizationUser = client.admin().organization().users().retrieve(\"user_id\");\n }\n}"
ruby: 'require "openai"
openai = OpenAI::Client.new(admin_api_key: "My Admin API Key")
organization_user = openai.admin.organization.users.retrieve("user_id")
puts(organization_user)'
response: "{\n \"object\": \"organization.user\",\n \"id\": \"user_abc\",\n \"name\": \"First Last\",\n \"email\": \"user@example.com\",\n \"role\": \"owner\",\n \"added_at\": 1711471533\n}\n"
post:
security:
- AdminApiKeyAuth: []
summary: Modifies a user's role in the organization.
operationId: modify-user
tags:
- Users
parameters:
- name: user_id
in: path
description: The ID of the user.
required: true
schema:
type: string
requestBody:
description: The new user role to modify. This must be one of `owner` or `member`.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UserRoleUpdateRequest'
responses:
'200':
description: User role updated successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/User'
x-oaiMeta:
name: Modify user
group: administration
examples:
request:
curl: "curl -X POST https://api.openai.com/v1/organization/users/user_abc \\\n -H \"Authorization: Bearer $OPENAI_ADMIN_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"role\": \"owner\"\n }'\n"
node.js: "import OpenAI from 'openai';\n\nconst client = new OpenAI({\n adminAPIKey: process.env['OPENAI_ADMIN_KEY'], // This is the default and can be omitted\n});\n\nconst organizationUser = await client.admin.organization.users.update('user_id');\n\nconsole.log(organizationUser.id);"
python: "import os\nfrom openai import OpenAI\n\nclient = OpenAI(\n admin_api_key=os.environ.get(\"OPENAI_ADMIN_KEY\"), # This is the default and can be omitted\n)\norganization_user = client.admin.organization.users.update(\n user_id=\"user_id\",\n)\nprint(organization_user.id)"
go: "package main\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\n\t\"github.com/openai/openai-go\"\n\t\"github.com/openai/openai-go/option\"\n)\n\nfunc main() {\n\tclient := openai.NewClient(\n\t\toption.WithAdminAPIKey(\"My Admin API Key\"),\n\t)\n\torganizationUser, err := client.Admin.Organization.Users.Update(\n\t\tcontext.TODO(),\n\t\t\"user_id\",\n\t\topenai.AdminOrganizationUserUpdateParams{},\n\t)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf(\"%+v\\n\", organizationUser.ID)\n}\n"
java: "package com.openai.example;\n\nimport com.openai.client.OpenAIClient;\nimport com.openai.client.okhttp.OpenAIOkHttpClient;\nimport com.openai.models.admin.organization.users.OrganizationUser;\nimport com.openai.models.admin.organization.users.UserUpdateParams;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n OpenAIClient client = OpenAIOkHttpClient.fromEnv();\n\n OrganizationUser organizationUser = client.admin().organization().users().update(\"user_id\");\n }\n}"
ruby: 'require "openai"
openai = OpenAI::Client.new(admin_api_key: "My Admin API Key")
organization_user = openai.admin.organization.users.update("user_id")
puts(organization_user)'
response: "{\n \"object\": \"organization.user\",\n \"id\": \"user_abc\",\n \"name\": \"First Last\",\n \"email\": \"user@example.com\",\n \"role\": \"owner\",\n \"added_at\": 1711471533\n}\n"
delete:
security:
- AdminApiKeyAuth: []
summary: Deletes a user from the organization.
operationId: delete-user
tags:
- Users
parameters:
- name: user_id
in: path
description: The ID of the user.
required: true
schema:
type: string
responses:
'200':
description: User deleted successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/UserDeleteResponse'
x-oaiMeta:
name: Delete user
group: administration
examples:
request:
curl: "curl -X DELETE https://api.openai.com/v1/organization/users/user_abc \\\n -H \"Authorization: Bearer $OPENAI_ADMIN_KEY\" \\\n -H \"Content-Type: application/json\"\n"
node.js: "import OpenAI from 'openai';\n\nconst client = new OpenAI({\n adminAPIKey: process.env['OPENAI_ADMIN_KEY'], // This is the default and can be omitted\n});\n\nconst user = await client.admin.organization.users.delete('user_id');\n\nconsole.log(user.id);"
python: "import os\nfrom openai import OpenAI\n\nclient = OpenAI(\n admin_api_key=os.environ.get(\"OPENAI_ADMIN_KEY\"), # This is the default and can be omitted\n)\nuser = client.admin.organization.users.delete(\n \"user_id\",\n)\nprint(user.id)"
go: "package main\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\n\t\"github.com/openai/openai-go\"\n\t\"github.com/openai/openai-go/option\"\n)\n\nfunc main() {\n\tclient := openai.NewClient(\n\t\toption.WithAdminAPIKey(\"My Admin API Key\"),\n\t)\n\tuser, err := client.Admin.Organization.Users.Delete(context.TODO(), \"user_id\")\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf(\"%+v\\n\", user.ID)\n}\n"
java: "package com.openai.example;\n\nimport com.openai.client.OpenAIClient;\nimport com.openai.client.okhttp.OpenAIOkHttpClient;\nimport com.openai.models.admin.organization.users.UserDeleteParams;\nimport com.openai.models.admin.organization.users.UserDeleteResponse;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n OpenAIClient client = OpenAIOkHttpClient.fromEnv();\n\n UserDeleteResponse user = client.admin().organization().users().delete(\"user_id\");\n }\n}"
ruby: 'require "openai"
openai = OpenAI::Client.new(admin_api_key: "My Admin API Key")
user = openai.admin.organization.users.delete("user_id")
puts(user)'
response: "{\n \"object\": \"organization.user.deleted\",\n \"id\": \"user_abc\",\n \"deleted\": true\n}\n"
components:
schemas:
UserRoleUpdateRequest:
type: object
properties:
role:
anyOf:
- type: string
- type: 'null'
description: '`owner` or `reader`'
role_id:
anyOf:
- type: string
- type: 'null'
description: Role ID to assign to the user.
technical_level:
anyOf:
- type: string
- type: 'null'
description: Technical level metadata.
developer_persona:
anyOf:
- type: string
- type: 'null'
description: Developer persona metadata.
User:
type: object
description: Represents an individual `user` within an organization.
properties:
object:
type: string
enum:
- organization.user
description: The object type, which is always `organization.user`
x-stainless-const: true
id:
type: string
description: The identifier, which can be referenced in API endpoints
name:
anyOf:
- type: string
- type: 'null'
description: The name of the user
email:
anyOf:
- type: string
- type: 'null'
description: The email address of the user
role:
anyOf:
- type: string
- type: 'null'
description: '`owner` or `reader`'
added_at:
type: integer
format: unixtime
description: The Unix timestamp (in seconds) of when the user was added.
is_default:
type: boolean
description: Whether this is the organization's default user.
created:
type: integer
format: unixtime
description: The Unix timestamp (in seconds) of when the user was created.
user:
type: object
description: Nested user details.
properties:
object:
type: string
enum:
- user
x-stainless-const: true
id:
type: string
email:
anyOf:
- type: string
- type: 'null'
name:
anyOf:
- type: string
- type: 'null'
picture:
anyOf:
- type: string
- type: 'null'
enabled:
anyOf:
- type: boolean
- type: 'null'
banned:
anyOf:
- type: boolean
- type: 'null'
banned_at:
anyOf:
- type: integer
format: unixtime
- type: 'null'
required:
- object
- id
is_service_account:
type: boolean
description: Whether the user is a service account.
is_scale_tier_authorized_purchaser:
anyOf:
- type: boolean
- type: 'null'
description: Whether the user is an authorized purchaser for Scale Tier.
is_scim_managed:
type: boolean
description: Whether the user is managed through SCIM.
api_key_last_used_at:
anyOf:
- type: integer
format: unixtime
- type: 'null'
description: The Unix timestamp (in seconds) of the user's last API key usage.
technical_level:
anyOf:
- type: string
- type: 'null'
description: The technical level metadata for the user.
developer_persona:
anyOf:
- type: string
- type: 'null'
description: The developer persona metadata for the user.
projects:
anyOf:
- type: object
properties:
object:
type: string
enum:
- list
x-stainless-const: true
data:
type: array
items:
type: object
properties:
id:
anyOf:
- type: string
- type: 'null'
name:
anyOf:
- type: string
- type: 'null'
role:
anyOf:
- type: string
- type: 'null'
required:
- object
- data
- type: 'null'
description: Projects associated with the user, if included.
required:
- object
- id
- added_at
x-oaiMeta:
name: The user object
example: "{\n \"object\": \"organization.user\",\n \"id\": \"user_abc\",\n \"name\": \"First Last\",\n \"email\": \"user@example.com\",\n \"role\": \"owner\",\n \"added_at\": 1711471533\n}\n"
UserDeleteResponse:
type: object
properties:
object:
type: string
enum:
- organization.user.deleted
x-stainless-const: true
id:
type: string
deleted:
type: boolean
required:
- object
- id
- deleted
UserListResponse:
type: object
properties:
object:
type: string
enum:
- list
x-stainless-const: true
data:
type: array
items:
$ref: '#/components/schemas/User'
first_id:
anyOf:
- type: string
- type: 'null'
last_id:
anyOf:
- type: string
- type: 'null'
has_more:
type: boolean
required:
- object
- data
- has_more
securitySchemes:
ApiKeyAuth:
type: http
scheme: bearer
AdminApiKeyAuth:
type: http
scheme: bearer
x-oaiMeta:
navigationGroups:
- id: responses
title: Responses API
- id: webhooks
title: Webhooks
- id: endpoints
title: Platform APIs
- id: vector_stores
title: Vector stores
- id: chatkit
title: ChatKit
beta: true
- id: containers
title: Containers
- id: realtime
title: Realtime
- id: chat
title: Chat Completions
- id: assistants
title: Assistants
deprecated: true
- id: administration
title: Administration
- id: legacy
title: Legacy
groups:
- id: responses-streaming
title: Streaming events
description: 'When you [create a Response](/docs/api-reference/responses/create) with
`stream` set to `true`, the server will emit server-sent events to the
client as the Response is generated. This section contains the events that
are emitted by the server.
[Learn more about streaming responses](/docs/guides/streaming-responses?api-mode=responses).
'
navigationGroup: responses
sections:
- type: object
key: ResponseCreatedEvent
path: <auto>
- type: object
key: ResponseInProgressEvent
path: <auto>
- type: object
key: ResponseCompletedEvent
path: <auto>
- type: object
key: ResponseFailedEvent
path: <auto>
- type: object
key: ResponseIncompleteEvent
path: <auto>
- type: object
key: ResponseOutputItemAddedEvent
path: <auto>
- type: object
key: ResponseOutputItemDoneEvent
path: <auto>
- type: object
key: ResponseContentPartAddedEvent
path: <auto>
- type: object
key: ResponseContentPartDoneEvent
path: <auto>
- type: object
key: ResponseTextDeltaEvent
path: response/output_text/delta
- type: object
key: ResponseTextDoneEvent
path: response/output_text/done
- type: object
key: ResponseRefusalDeltaEvent
path: <auto>
- type: object
key: ResponseRefusalDoneEvent
path: <auto>
- type: object
key: ResponseFunctionCallArgumentsDeltaEvent
path: <auto>
- type: object
key: ResponseFunctionCallArgumentsDoneEvent
path: <auto>
- type: object
key: ResponseFileSearchCallInProgressEvent
path: <auto>
- type: object
key: ResponseFileSearchCallSearchingEvent
path: <auto>
- type: object
key: ResponseFileSearchCallCompletedEvent
path: <auto>
- type: object
key: ResponseWebSearchCallInProgressEvent
path: <auto>
- type: object
key: ResponseWebSearchCallSearchingEvent
path: <auto>
- type: object
key: ResponseWebSearchCallCompletedEvent
path: <auto>
- type: object
key: ResponseReasoningSummaryPartAddedEvent
path: <auto>
- type: object
key: ResponseReasoningSummaryPartDoneEvent
path: <auto>
- type: object
key: ResponseReasoningSummaryTextDeltaEvent
path: <auto>
- type: object
key: ResponseReasoningSummaryTextDoneEvent
path: <auto>
- type: object
key: ResponseReasoningTextDeltaEvent
path: <auto>
- type: object
key: ResponseReasoningTextDoneEvent
path: <auto>
- type: object
key: ResponseImageGenCallCompletedEvent
path: <auto>
- type: object
key: ResponseImageGenCallGeneratingEvent
path: <auto>
- type: object
key: ResponseImageGenCallInProgressEvent
path: <auto>
- type: object
key: ResponseImageGenCallPartialImageEvent
path: <auto>
- type: object
key: ResponseMCPCallArgumentsDeltaEvent
path: <auto>
- type: object
key: ResponseMCPCallArgumentsDoneEvent
path: <auto>
- type: object
key: ResponseMCPCallCompletedEvent
path: <auto>
- type: object
key: ResponseMCPCallFailedEvent
path: <auto>
- type: object
key: ResponseMCPCallInProgressEvent
path: <auto>
- type: object
key: ResponseMCPListToolsCompletedEvent
path: <auto>
- type: object
key: ResponseMCPListToolsFailedEvent
path: <auto>
- type: object
key: ResponseMCPListToolsInProgressEvent
path: <auto>
- type: object
key: ResponseCodeInterpreterCallInProgressEvent
path: <auto>
- type: object
key: ResponseCodeInterpreterCallInterpretingEvent
path: <auto>
- type: object
key: ResponseCodeInterpreterCallCompletedEvent
path: <auto>
- type: object
key: ResponseCodeInterpreterCallCodeDeltaEvent
path: <auto>
- type: object
key: ResponseCodeInterpreterCallCodeDoneEvent
path: <auto>
- type: object
key: ResponseOutputTextAnnotationAddedEvent
path: <auto>
- type: object
key: ResponseQueuedEvent
path: <auto>
- type: object
key: ResponseCustomToolCallInputDeltaEvent
path: <auto>
- type: object
key: ResponseCustomToolCallInputDoneEvent
path: <auto>
- type: object
key: ResponseErrorEvent
path: <auto>
- id: webhook-events
title: Webhook Events
description: 'Webhooks are HTTP requests sent by OpenAI to a URL you specify when certain
events happen during the course of API usage.
[Learn more about webhooks](/docs/guides/webhooks).
'
navigationGroup: webhooks
sections:
- type: object
key: WebhookResponseCompleted
path: <auto>
- type: object
key: WebhookResponseCancelled
path: <auto>
- type: object
key: WebhookResponseFailed
path: <auto>
- type: object
key: WebhookResponseIncomplete
path: <auto>
- type: object
key: WebhookBatchCompleted
path: <auto>
- type: object
key: WebhookBatchCancelled
path: <auto>
- type: object
key: WebhookBatchExpired
path: <auto>
- type: object
key: WebhookBatchFailed
path: <auto>
- type: object
key: WebhookFineTuningJobSucceeded
path: <auto>
- type: object
key: WebhookFineTuningJobFailed
path: <auto>
- type: object
key: WebhookFineTuningJobCancelled
path: <auto>
- type: object
key: WebhookEvalRunSucceeded
path: <auto>
- type: object
key: WebhookEvalRunFailed
path: <auto>
- type: object
key: WebhookEvalRunCanceled
path: <auto>
- type: object
key: WebhookRealtimeCallIncoming
path: <auto>
- id: images-streaming
title: Image Streaming
description: 'Stream image generation and editing in real time with server-sent events.
[Learn more about image streaming](/docs/guides/image-generation).
'
navigationGroup: endpoints
sections:
- type: object
key: ImageGenPartialImageEvent
path: <auto>
- type: object
key: ImageGenCompletedEvent
path: <auto>
- type: object
key: ImageEditPartialImageEvent
path: <auto>
- type: object
key: ImageEditCompletedEvent
path: <auto>
- id: realtime-client-events
title: Client events
description: 'These are events that the OpenAI Realtime WebSocket server will accept from the client.
'
navigationGroup: realtime
sections:
- type: object
key: RealtimeClientEventSessionUpdate
path: <auto>
- type: object
key: RealtimeClientEventInputAudioBufferAppend
path: <auto>
- type: object
key: RealtimeClientEventInputAudioBufferCommit
path: <auto>
- type: object
key: RealtimeClientEventInputAudioBufferClear
path: <auto>
- type: object
key: RealtimeClientEventConversationItemCreate
path: <auto>
- type: object
key: RealtimeClientEventConversationItemRetrieve
path: <auto>
- type: object
key: RealtimeClientEventConversationItemTruncate
path: <auto>
- type: object
key: RealtimeClientEventConversationItemDelete
path: <auto>
- type: object
key: RealtimeClientEventResponseCreate
path: <auto>
- type: object
key: RealtimeClientEventResponseCancel
path: <auto>
- type: object
key: RealtimeClientEventOutputAudioBufferClear
path: <auto>
- id: realtime-server-events
title: Server events
description: 'These are events emitted from the OpenAI Realtime WebSocket server to the client.
'
navigationGroup: realtime
sections:
- type: object
key: RealtimeServerEventError
path: <auto>
- type: object
key: RealtimeServerEventSessionCreated
path: <auto>
- type: object
key: RealtimeServerEventSessionUpdated
path: <auto>
- type: object
key: RealtimeServerEventConversationItemAdded
path: <auto>
- type: object
key: RealtimeServerEventConversationItemDone
path: <auto>
- type: object
key: RealtimeServerEventConversationItemRetrieved
path: <auto>
- type: object
key: RealtimeServerEventConversationItemInputAudioTranscriptionCompleted
path: <auto>
- type: object
key: RealtimeServerEventConversationItemInputAudioTranscriptionDelta
path: <auto>
- type: object
key: RealtimeServerEventConversationItemInputAudioTranscriptionSegment
path: <auto>
- type: object
key: RealtimeServerEventConversationItemInputAudioTranscriptionFailed
path: <auto>
- type: object
key: RealtimeServerEventConversationItemTruncated
path: <auto>
- type: object
key: RealtimeServerEventConversationItemDeleted
path: <auto>
- type: object
key: RealtimeServerEventInputAudioBufferCommitted
path: <auto>
- type: object
key: RealtimeServerEventInputAudioBufferDtmfEventReceived
path: <auto>
- type: object
key: RealtimeServerEventInputAudioBufferCleared
path: <auto>
- type: object
key: RealtimeServerEventInputAudioBufferSpeechStarted
path: <auto>
- type: object
key: RealtimeServerEventInputAudioBufferSpeechStopped
path: <auto>
- type: object
key: RealtimeServerEventInputAudioBufferTimeoutTriggered
path: <auto>
- type: object
key: RealtimeServerEventOutputAudioBufferStarted
path: <auto>
- type: object
key: RealtimeServerEventOutputAudioBufferStopped
path: <auto>
- type: object
key: RealtimeServerEventOutputAudioBufferCleared
path: <auto>
- type: object
key: RealtimeServerEventResponseCreated
path: <auto>
- type: object
key: RealtimeServerEventResponseDone
path: <auto>
- type: object
key: RealtimeServerEventResponseOutputItemAdded
path: <auto>
- type: object
key: RealtimeServerEventResponseOutputItemDone
path: <auto>
- type: object
key: RealtimeServerEventResponseContentPartAdded
path: <auto>
- type: object
key: RealtimeServerEventResponseContentPartDone
path: <auto>
- type: object
key: RealtimeServerEventResponseTextDelta
path: <auto>
- type: object
key: RealtimeServerEventResponseTextDone
path: <auto>
- type: object
key: RealtimeServerEventResponseAudioTranscriptDelta
path: <auto>
- type: object
key: RealtimeServerEventResponseAudioTranscriptDone
path: <auto>
- type: object
key: RealtimeServerEventResponseAudioDelta
path: <auto>
- type: object
key: RealtimeServerEventResponseAudioDone
path: <auto>
- type: object
key: RealtimeServerEventResponseFunctionCallArgumentsDelta
path: <auto>
- type: object
key: RealtimeServerEventResponseFunctionCallArgumentsDone
path: <auto>
- type: object
key: RealtimeServerEventResponseMCPCallArgumentsDelta
path: <auto>
- type: object
key: RealtimeServerEventResponseMCPCallArgumentsDone
path: <auto>
- type: object
key: RealtimeServerEventResponseMCPCallInProgress
path: <auto>
- type: object
key: RealtimeServerEventResponseMCPCallCompleted
path: <auto>
- type: object
key: RealtimeServerEventResponseMCPCallFailed
path: <auto>
- type: object
key: RealtimeServerEventMCPListToolsInProgress
path: <auto>
- type: object
key: RealtimeServerEventMCPListToolsCompleted
path: <auto>
- type: object
key: RealtimeServerEventMCPListToolsFailed
path: <auto>
- type: object
key: RealtimeServerEventRateLimitsUpdated
path: <auto>
- id: realtime-translation-client-events
title: Translation client events
description: 'These are events that the OpenAI Realtime Translation WebSocket server will accept from the client.
'
navigationGroup: realtime
sections:
- type: object
key: RealtimeTranslationClientEventSessionUpdate
path: <auto>
- type: object
key: RealtimeTranslationClientEventInputAudioBufferAppend
path: <auto>
- type: object
key: RealtimeTranslationClientEventSessionClose
path: <auto>
- id: realtime-translation-server-events
title: Translation server events
description: 'These are events emitted from the OpenAI Realtime Translation WebSocket server to the client.
'
navigationGroup: realtime
sections:
- type: object
key: RealtimeServerEventError
path: <auto>
- type: object
key: RealtimeTranslationServerEventSessionCreated
path: <auto>
- type:
# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/openai/refs/heads/main/openapi/openai-users-api-openapi.yml