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-project-groups-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 Project groups 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: Project groups
paths:
/organization/projects/{project_id}/groups:
get:
security:
- AdminApiKeyAuth: []
summary: Lists the groups that have access to a project.
operationId: list-project-groups
tags:
- Project groups
parameters:
- name: project_id
in: path
description: The ID of the project to inspect.
required: true
schema:
type: string
- name: limit
in: query
description: A limit on the number of project groups to return. Defaults to 20.
required: false
schema:
type: integer
minimum: 0
maximum: 100
default: 20
- name: after
in: query
description: Cursor for pagination. Provide the ID of the last group from the previous response to fetch the next page.
required: false
schema:
type: string
- name: order
in: query
description: Sort order for the returned groups.
required: false
schema:
type: string
enum:
- asc
- desc
default: asc
responses:
'200':
description: Project groups listed successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectGroupListResource'
x-oaiMeta:
name: List project groups
group: administration
examples:
request:
curl: "curl https://api.openai.com/v1/organization/projects/proj_abc123/groups?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 projectGroup of client.admin.organization.projects.groups.list('project_id')) {\n console.log(projectGroup.group_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.projects.groups.list(\n project_id=\"project_id\",\n)\npage = page.data[0]\nprint(page.group_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.Projects.Groups.List(\n\t\tcontext.TODO(),\n\t\t\"project_id\",\n\t\topenai.AdminOrganizationProjectGroupListParams{},\n\t)\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.projects.groups.GroupListPage;\nimport com.openai.models.admin.organization.projects.groups.GroupListParams;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n OpenAIClient client = OpenAIOkHttpClient.fromEnv();\n\n GroupListPage page = client.admin().organization().projects().groups().list(\"project_id\");\n }\n}"
ruby: 'require "openai"
openai = OpenAI::Client.new(admin_api_key: "My Admin API Key")
page = openai.admin.organization.projects.groups.list("project_id")
puts(page)'
response: "{\n \"object\": \"list\",\n \"data\": [\n {\n \"object\": \"project.group\",\n \"project_id\": \"proj_abc123\",\n \"group_id\": \"group_01J1F8ABCDXYZ\",\n \"group_name\": \"Support Team\",\n \"created_at\": 1711471533\n }\n ],\n \"has_more\": false,\n \"next\": null\n}\n"
post:
security:
- AdminApiKeyAuth: []
summary: Grants a group access to a project.
operationId: add-project-group
tags:
- Project groups
parameters:
- name: project_id
in: path
description: The ID of the project to update.
required: true
schema:
type: string
requestBody:
description: Identifies the group and role to assign to the project.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/InviteProjectGroupBody'
responses:
'200':
description: Group granted access to the project successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectGroup'
x-oaiMeta:
name: Add project group
group: administration
examples:
request:
curl: "curl -X POST https://api.openai.com/v1/organization/projects/proj_abc123/groups \\\n -H \"Authorization: Bearer $OPENAI_ADMIN_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"group_id\": \"group_01J1F8ABCDXYZ\",\n \"role\": \"role_01J1F8PROJ\"\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 projectGroup = await client.admin.organization.projects.groups.create('project_id', {\n group_id: 'group_id',\n role: 'role',\n});\n\nconsole.log(projectGroup.group_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)\nproject_group = client.admin.organization.projects.groups.create(\n project_id=\"project_id\",\n group_id=\"group_id\",\n role=\"role\",\n)\nprint(project_group.group_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\tprojectGroup, err := client.Admin.Organization.Projects.Groups.New(\n\t\tcontext.TODO(),\n\t\t\"project_id\",\n\t\topenai.AdminOrganizationProjectGroupNewParams{\n\t\t\tGroupID: \"group_id\",\n\t\t\tRole: \"role\",\n\t\t},\n\t)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf(\"%+v\\n\", projectGroup.GroupID)\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.projects.groups.GroupCreateParams;\nimport com.openai.models.admin.organization.projects.groups.ProjectGroup;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n OpenAIClient client = OpenAIOkHttpClient.fromEnv();\n\n GroupCreateParams params = GroupCreateParams.builder()\n .projectId(\"project_id\")\n .groupId(\"group_id\")\n .role(\"role\")\n .build();\n ProjectGroup projectGroup = client.admin().organization().projects().groups().create(params);\n }\n}"
ruby: 'require "openai"
openai = OpenAI::Client.new(admin_api_key: "My Admin API Key")
project_group = openai.admin.organization.projects.groups.create("project_id", group_id: "group_id", role: "role")
puts(project_group)'
response: "{\n \"object\": \"project.group\",\n \"project_id\": \"proj_abc123\",\n \"group_id\": \"group_01J1F8ABCDXYZ\",\n \"group_name\": \"Support Team\",\n \"created_at\": 1711471533\n}\n"
/organization/projects/{project_id}/groups/{group_id}:
delete:
security:
- AdminApiKeyAuth: []
summary: Revokes a group's access to a project.
operationId: remove-project-group
tags:
- Project groups
parameters:
- name: project_id
in: path
description: The ID of the project to update.
required: true
schema:
type: string
- name: group_id
in: path
description: The ID of the group to remove from the project.
required: true
schema:
type: string
responses:
'200':
description: Group removed from the project successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectGroupDeletedResource'
x-oaiMeta:
name: Remove project group
group: administration
examples:
request:
curl: "curl -X DELETE https://api.openai.com/v1/organization/projects/proj_abc123/groups/group_01J1F8ABCDXYZ \\\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 group = await client.admin.organization.projects.groups.delete('group_id', {\n project_id: 'project_id',\n});\n\nconsole.log(group.deleted);"
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)\ngroup = client.admin.organization.projects.groups.delete(\n group_id=\"group_id\",\n project_id=\"project_id\",\n)\nprint(group.deleted)"
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\tgroup, err := client.Admin.Organization.Projects.Groups.Delete(\n\t\tcontext.TODO(),\n\t\t\"project_id\",\n\t\t\"group_id\",\n\t)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf(\"%+v\\n\", group.Deleted)\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.projects.groups.GroupDeleteParams;\nimport com.openai.models.admin.organization.projects.groups.GroupDeleteResponse;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n OpenAIClient client = OpenAIOkHttpClient.fromEnv();\n\n GroupDeleteParams params = GroupDeleteParams.builder()\n .projectId(\"project_id\")\n .groupId(\"group_id\")\n .build();\n GroupDeleteResponse group = client.admin().organization().projects().groups().delete(params);\n }\n}"
ruby: 'require "openai"
openai = OpenAI::Client.new(admin_api_key: "My Admin API Key")
group = openai.admin.organization.projects.groups.delete("group_id", project_id: "project_id")
puts(group)'
response: "{\n \"object\": \"project.group.deleted\",\n \"deleted\": true\n}\n"
components:
schemas:
InviteProjectGroupBody:
type: object
description: Request payload for granting a group access to a project.
properties:
group_id:
type: string
description: Identifier of the group to add to the project.
role:
type: string
description: Identifier of the project role to grant to the group.
required:
- group_id
- role
x-oaiMeta:
example: "{\n \"group_id\": \"group_01J1F8ABCDXYZ\",\n \"role\": \"role_01J1F8PROJ\"\n}\n"
ProjectGroup:
type: object
description: Details about a group's membership in a project.
properties:
object:
type: string
enum:
- project.group
description: Always `project.group`.
x-stainless-const: true
project_id:
type: string
description: Identifier of the project.
group_id:
type: string
description: Identifier of the group that has access to the project.
group_name:
type: string
description: Display name of the group.
group_type:
type: string
description: The type of the group.
created_at:
type: integer
format: unixtime
description: Unix timestamp (in seconds) when the group was granted project access.
required:
- object
- project_id
- group_id
- group_name
- group_type
- created_at
x-oaiMeta:
name: The project group object
example: "{\n \"object\": \"project.group\",\n \"project_id\": \"proj_abc123\",\n \"group_id\": \"group_01J1F8ABCDXYZ\",\n \"group_name\": \"Support Team\",\n \"group_type\": \"group\",\n \"created_at\": 1711471533\n}\n"
ProjectGroupDeletedResource:
type: object
description: Confirmation payload returned after removing a group from a project.
properties:
object:
type: string
enum:
- project.group.deleted
description: Always `project.group.deleted`.
x-stainless-const: true
deleted:
type: boolean
description: Whether the group membership in the project was removed.
required:
- object
- deleted
x-oaiMeta:
name: Project group deletion confirmation
example: "{\n \"object\": \"project.group.deleted\",\n \"deleted\": true\n}\n"
ProjectGroupListResource:
type: object
description: Paginated list of groups that have access to a project.
properties:
object:
type: string
enum:
- list
description: Always `list`.
x-stainless-const: true
data:
type: array
description: Project group memberships returned in the current page.
items:
$ref: '#/components/schemas/ProjectGroup'
has_more:
type: boolean
description: Whether additional project group memberships are available.
next:
description: Cursor to fetch the next page of results, or `null` when there are no more results.
anyOf:
- type: string
- type: 'null'
required:
- object
- data
- has_more
- next
x-oaiMeta:
name: Project group list
example: "{\n \"object\": \"list\",\n \"data\": [\n {\n \"object\": \"project.group\",\n \"project_id\": \"proj_abc123\",\n \"group_id\": \"group_01J1F8ABCDXYZ\",\n \"group_name\": \"Support Team\",\n \"created_at\": 1711471533\n }\n ],\n \"has_more\": false,\n \"next\": null\n}\n"
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: object
key: RealtimeTranslationServerEventSessionUpdated
path: <auto>
- type: object
key: RealtimeTranslationServerEventSessionClosed
path: <auto>
- type: object
key: RealtimeTranslationServerEventSessionInputTranscriptDelta
path: <auto>
- type: object
key: RealtimeTranslationServerEventSessionOutputTranscriptDelta
path: <auto>
- type: object
key: RealtimeTranslationServerEventSessionOutputAudioDelta
path: <auto>
- id: chat-streaming
title: Streaming
description: 'Stream Chat Completions in real time. Receive chunks of completions
returned from the model using server-sent events.
[Learn more](/docs/guides/streaming-responses?api-mode=chat).
'
navigationGroup: chat
sections:
- type: object
key: CreateChatCompletionStreamResponse
path: streaming
- id: assistants-streaming
title: Streaming
beta: true
description: 'Stream the result of executing a Run or resuming a Run after submitting tool outputs.
You can stream events from the [Create Thread and Run](/docs/api-reference/runs/createThreadAndRun),
[Create Run](/docs/api-reference/runs/createRun), and [Submit Tool Outputs](/docs/api-reference/runs/submitToolOutputs)
endpoints by passing `"stream": true`. The response will be a [Server-Sent events](https://html.spec.whatwg.org/multipage/server-sent-events.html#server-sent-events) stream.
Our Node and Python SDKs provide helpful utilities to make streaming easy. Reference the
[Assistants API quickstart](/docs/assistants/overview) to learn more.
'
navigationGroup: assistants
sections:
- type: object
key: AssistantStreamEvent
path: events
- id: realtime-beta-client-events
title: Realtime Beta client events
description: 'These are events that the OpenAI Realtime WebSocket server will accept from the client.
'
navigationGroup: legacy
sections:
- type: object
key: RealtimeBetaClientEventSessionUpdate
path: <auto>
- type: object
key: RealtimeBetaClientEventInputAudioBufferAppend
path: <auto>
- type: object
key: RealtimeBetaClientEventInputAudioBufferCommit
path: <auto>
- type: object
key: RealtimeBetaClientEventInputAudioBufferClear
path: <auto>
- type: object
key: RealtimeBetaClientEventConversationItemCreate
path: <auto>
- type: object
key: RealtimeBetaClientEventConversationItemRetrieve
path: <auto>
- type: object
key: RealtimeBetaClientEventConversationItemTruncate
path: <auto>
- type: object
key: RealtimeBetaClientEventConversationItemDelete
path: <auto>
- type: object
key: RealtimeBetaClientEventResponseCreate
path: <auto>
- type: object
key: RealtimeBetaClientEventResponseCancel
path: <auto>
- type: object
key: RealtimeBetaClientEventTranscriptionSessionUpdate
path: <auto>
- type: object
key: RealtimeBetaClientEventOutputAudioBufferClear
path: <auto>
- id: realtime-beta-server-events
title: Realtime Beta server events
description: 'These are events emitted from the OpenAI Realtime WebSocket server to the client.
'
navigationGroup: legacy
sections:
- type: object
key: RealtimeBetaServerEventError
path: <auto>
- type: object
key: RealtimeBetaServerEventSessionCreated
path: <auto>
- type: o
# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/openai/refs/heads/main/openapi/openai-project-groups-api-openapi.yml