Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: OpenAI User organization role assignments 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: User organization role assignments
paths:
/organization/users/{user_id}/roles:
get:
security:
- AdminApiKeyAuth: []
summary: Lists the organization roles assigned to a user within the organization.
operationId: list-user-role-assignments
tags:
- User organization role assignments
parameters:
- name: user_id
in: path
description: The ID of the user to inspect.
required: true
schema:
type: string
- name: limit
in: query
description: A limit on the number of organization role assignments to return.
required: false
schema:
type: integer
minimum: 0
maximum: 1000
- name: after
in: query
description: Cursor for pagination. Provide the value from the previous response's `next` field to continue listing organization roles.
required: false
schema:
type: string
- name: order
in: query
description: Sort order for the returned organization roles.
required: false
schema:
type: string
enum:
- asc
- desc
responses:
'200':
description: User organization role assignments listed successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/RoleListResource'
x-oaiMeta:
name: List user organization role assignments
group: administration
examples:
request:
curl: "curl https://api.openai.com/v1/organization/users/user_abc123/roles \\\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 roleListResponse of client.admin.organization.users.roles.list('user_id')) {\n console.log(roleListResponse.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.roles.list(\n user_id=\"user_id\",\n)\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.Roles.List(\n\t\tcontext.TODO(),\n\t\t\"user_id\",\n\t\topenai.AdminOrganizationUserRoleListParams{},\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.users.roles.RoleListPage;\nimport com.openai.models.admin.organization.users.roles.RoleListParams;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n OpenAIClient client = OpenAIOkHttpClient.fromEnv();\n\n RoleListPage page = client.admin().organization().users().roles().list(\"user_id\");\n }\n}"
ruby: 'require "openai"
openai = OpenAI::Client.new(admin_api_key: "My Admin API Key")
page = openai.admin.organization.users.roles.list("user_id")
puts(page)'
response: "{\n \"object\": \"list\",\n \"data\": [\n {\n \"id\": \"role_01J1F8ROLE01\",\n \"name\": \"API Group Manager\",\n \"permissions\": [\n \"api.groups.read\",\n \"api.groups.write\"\n ],\n \"resource_type\": \"api.organization\",\n \"predefined_role\": false,\n \"description\": \"Allows managing organization groups\",\n \"created_at\": 1711471533,\n \"updated_at\": 1711472599,\n \"created_by\": \"user_abc123\",\n \"created_by_user_obj\": {\n \"id\": \"user_abc123\",\n \"name\": \"Ada Lovelace\",\n \"email\": \"ada@example.com\"\n },\n \"metadata\": {}\n }\n ],\n \"has_more\": false,\n \"next\": null\n}\n"
post:
security:
- AdminApiKeyAuth: []
summary: Assigns an organization role to a user within the organization.
operationId: assign-user-role
tags:
- User organization role assignments
parameters:
- name: user_id
in: path
description: The ID of the user that should receive the organization role.
required: true
schema:
type: string
requestBody:
description: Identifies the organization role to assign to the user.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PublicAssignOrganizationGroupRoleBody'
responses:
'200':
description: Organization role assigned to the user successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/UserRoleAssignment'
x-oaiMeta:
name: Assign organization role to user
group: administration
examples:
request:
curl: "curl -X POST https://api.openai.com/v1/organization/users/user_abc123/roles \\\n -H \"Authorization: Bearer $OPENAI_ADMIN_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"role_id\": \"role_01J1F8ROLE01\"\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 role = await client.admin.organization.users.roles.create('user_id', { role_id: 'role_id' });\n\nconsole.log(role.object);"
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)\nrole = client.admin.organization.users.roles.create(\n user_id=\"user_id\",\n role_id=\"role_id\",\n)\nprint(role.object)"
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\trole, err := client.Admin.Organization.Users.Roles.New(\n\t\tcontext.TODO(),\n\t\t\"user_id\",\n\t\topenai.AdminOrganizationUserRoleNewParams{\n\t\t\tRoleID: \"role_id\",\n\t\t},\n\t)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf(\"%+v\\n\", role.Object)\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.roles.RoleCreateParams;\nimport com.openai.models.admin.organization.users.roles.RoleCreateResponse;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n OpenAIClient client = OpenAIOkHttpClient.fromEnv();\n\n RoleCreateParams params = RoleCreateParams.builder()\n .userId(\"user_id\")\n .roleId(\"role_id\")\n .build();\n RoleCreateResponse role = client.admin().organization().users().roles().create(params);\n }\n}"
ruby: 'require "openai"
openai = OpenAI::Client.new(admin_api_key: "My Admin API Key")
role = openai.admin.organization.users.roles.create("user_id", role_id: "role_id")
puts(role)'
response: "{\n \"object\": \"user.role\",\n \"user\": {\n \"object\": \"organization.user\",\n \"id\": \"user_abc123\",\n \"name\": \"Ada Lovelace\",\n \"email\": \"ada@example.com\",\n \"role\": \"owner\",\n \"added_at\": 1711470000\n },\n \"role\": {\n \"object\": \"role\",\n \"id\": \"role_01J1F8ROLE01\",\n \"name\": \"API Group Manager\",\n \"description\": \"Allows managing organization groups\",\n \"permissions\": [\n \"api.groups.read\",\n \"api.groups.write\"\n ],\n \"resource_type\": \"api.organization\",\n \"predefined_role\": false\n }\n}\n"
/organization/users/{user_id}/roles/{role_id}:
delete:
security:
- AdminApiKeyAuth: []
summary: Unassigns an organization role from a user within the organization.
operationId: unassign-user-role
tags:
- User organization role assignments
parameters:
- name: user_id
in: path
description: The ID of the user to modify.
required: true
schema:
type: string
- name: role_id
in: path
description: The ID of the organization role to remove from the user.
required: true
schema:
type: string
responses:
'200':
description: Organization role unassigned from the user successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/DeletedRoleAssignmentResource'
x-oaiMeta:
name: Unassign organization role from user
group: administration
examples:
request:
curl: "curl -X DELETE https://api.openai.com/v1/organization/users/user_abc123/roles/role_01J1F8ROLE01 \\\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 role = await client.admin.organization.users.roles.delete('role_id', { user_id: 'user_id' });\n\nconsole.log(role.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)\nrole = client.admin.organization.users.roles.delete(\n role_id=\"role_id\",\n user_id=\"user_id\",\n)\nprint(role.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\trole, err := client.Admin.Organization.Users.Roles.Delete(\n\t\tcontext.TODO(),\n\t\t\"user_id\",\n\t\t\"role_id\",\n\t)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf(\"%+v\\n\", role.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.users.roles.RoleDeleteParams;\nimport com.openai.models.admin.organization.users.roles.RoleDeleteResponse;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n OpenAIClient client = OpenAIOkHttpClient.fromEnv();\n\n RoleDeleteParams params = RoleDeleteParams.builder()\n .userId(\"user_id\")\n .roleId(\"role_id\")\n .build();\n RoleDeleteResponse role = client.admin().organization().users().roles().delete(params);\n }\n}"
ruby: 'require "openai"
openai = OpenAI::Client.new(admin_api_key: "My Admin API Key")
role = openai.admin.organization.users.roles.delete("role_id", user_id: "user_id")
puts(role)'
response: "{\n \"object\": \"user.role.deleted\",\n \"deleted\": true\n}\n"
components:
schemas:
AssignedRoleDetails:
type: object
description: Detailed information about a role assignment entry returned when listing assignments.
properties:
id:
type: string
description: Identifier for the role.
name:
type: string
description: Name of the role.
permissions:
type: array
description: Permissions associated with the role.
items:
type: string
resource_type:
type: string
description: Resource type the role applies to.
predefined_role:
type: boolean
description: Whether the role is predefined by OpenAI.
description:
description: Description of the role.
anyOf:
- type: string
- type: 'null'
created_at:
description: When the role was created.
anyOf:
- type: integer
format: unixtime
- type: 'null'
updated_at:
description: When the role was last updated.
anyOf:
- type: integer
format: int64
- type: 'null'
created_by:
description: Identifier of the actor who created the role.
anyOf:
- type: string
- type: 'null'
created_by_user_obj:
description: User details for the actor that created the role, when available.
anyOf:
- type: object
additionalProperties: true
- type: 'null'
metadata:
description: Arbitrary metadata stored on the role.
anyOf:
- type: object
additionalProperties: true
- type: 'null'
required:
- id
- name
- permissions
- resource_type
- predefined_role
- description
- created_at
- updated_at
- created_by
- created_by_user_obj
- 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"
Role:
type: object
description: Details about a role that can be assigned through the public Roles API.
properties:
object:
type: string
enum:
- role
description: Always `role`.
x-stainless-const: true
id:
type: string
description: Identifier for the role.
name:
type: string
description: Unique name for the role.
description:
description: Optional description of the role.
anyOf:
- type: string
- type: 'null'
permissions:
type: array
description: Permissions granted by the role.
items:
type: string
resource_type:
type: string
description: Resource type the role is bound to (for example `api.organization` or `api.project`).
predefined_role:
type: boolean
description: Whether the role is predefined and managed by OpenAI.
required:
- object
- id
- name
- description
- permissions
- resource_type
- predefined_role
x-oaiMeta:
name: The role object
example: "{\n \"object\": \"role\",\n \"id\": \"role_01J1F8ROLE01\",\n \"name\": \"API Group Manager\",\n \"description\": \"Allows managing organization groups\",\n \"permissions\": [\n \"api.groups.read\",\n \"api.groups.write\"\n ],\n \"resource_type\": \"api.organization\",\n \"predefined_role\": false\n}\n"
PublicAssignOrganizationGroupRoleBody:
type: object
description: Request payload for assigning a role to a group or user.
properties:
role_id:
type: string
description: Identifier of the role to assign.
required:
- role_id
x-oaiMeta:
example: "{\n \"role_id\": \"role_01J1F8ROLE01\"\n}\n"
DeletedRoleAssignmentResource:
type: object
description: Confirmation payload returned after unassigning a role.
properties:
object:
type: string
description: Identifier for the deleted assignment, such as `group.role.deleted` or `user.role.deleted`.
deleted:
type: boolean
description: Whether the assignment was removed.
required:
- object
- deleted
x-oaiMeta:
name: Role assignment deletion confirmation
example: "{\n \"object\": \"group.role.deleted\",\n \"deleted\": true\n}\n"
RoleListResource:
type: object
description: Paginated list of roles assigned to a principal.
properties:
object:
type: string
enum:
- list
description: Always `list`.
x-stainless-const: true
data:
type: array
description: Role assignments returned in the current page.
items:
$ref: '#/components/schemas/AssignedRoleDetails'
has_more:
type: boolean
description: Whether additional assignments are available when paginating.
next:
description: Cursor to fetch the next page of results, or `null` when there are no more assignments.
anyOf:
- type: string
- type: 'null'
required:
- object
- data
- has_more
- next
x-oaiMeta:
name: Assigned role list
example: "{\n \"object\": \"list\",\n \"data\": [\n {\n \"id\": \"role_01J1F8ROLE01\",\n \"name\": \"API Group Manager\",\n \"permissions\": [\n \"api.groups.read\",\n \"api.groups.write\"\n ],\n \"resource_type\": \"api.organization\",\n \"predefined_role\": false,\n \"description\": \"Allows managing organization groups\",\n \"created_at\": 1711471533,\n \"updated_at\": 1711472599,\n \"created_by\": \"user_abc123\",\n \"created_by_user_obj\": {\n \"id\": \"user_abc123\",\n \"name\": \"Ada Lovelace\",\n \"email\": \"ada@example.com\"\n },\n \"metadata\": {}\n }\n ],\n \"has_more\": false,\n \"next\": null\n}\n"
UserRoleAssignment:
type: object
description: Role assignment linking a user to a role.
properties:
object:
type: string
enum:
- user.role
description: Always `user.role`.
x-stainless-const: true
user:
$ref: '#/components/schemas/User'
role:
$ref: '#/components/schemas/Role'
required:
- object
- user
- role
x-oaiMeta:
name: The user role object
example: "{\n \"object\": \"user.role\",\n \"user\": {\n \"object\": \"organization.user\",\n \"id\": \"user_abc123\",\n \"name\": \"Ada Lovelace\",\n \"email\": \"ada@example.com\",\n \"role\": \"owner\",\n \"added_at\": 1711470000\n },\n \"role\": {\n \"object\": \"role\",\n \"id\": \"role_01J1F8ROLE01\",\n \"name\": \"API Group Manager\",\n \"description\": \"Allows managing organization groups\",\n \"permissions\": [\n \"api.groups.read\",\n \"api.groups.write\"\n ],\n \"resource_type\": \"api.organization\",\n \"predefined_role\": false\n }\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>
- t
# --- truncated at 32 KB (44 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/openai/refs/heads/main/openapi/openai-user-organization-role-assignments-api-openapi.yml