OpenAI Project group role assignments API

The Project group role assignments API from OpenAI — 2 operation(s) for project group role assignments.

Operations 3

GET /projects/{project_id}/groups/{group_id}/roles Lists the project roles assigned to a group within a project. #
POST /projects/{project_id}/groups/{group_id}/roles Assigns a project role to a group within a project. #
DELETE /projects/{project_id}/groups/{group_id}/roles/{role_id} Unassigns a project role from a group within a project. #

Documentation

📖
Documentation
https://platform.openai.com/docs/assistants/overview
📖
Documentation
https://platform.openai.com/docs/api-reference/assistants
📖
Documentation
https://platform.openai.com/docs/guides/text-to-speech
📖
Documentation
https://platform.openai.com/docs/api-reference/audio
📖
Documentation
https://platform.openai.com/docs/guides/speech-to-text
📖
Documentation
https://developers.openai.com/api/docs/guides/audio/
📖
Documentation
https://developers.openai.com/api/docs/guides/voice-agents/
📖
Documentation
https://platform.openai.com/docs/api-reference/chat
📖
Documentation
https://platform.openai.com/docs/guides/embeddings
📖
Documentation
https://platform.openai.com/docs/api-reference/embeddings
📖
Documentation
https://platform.openai.com/docs/api-reference/files
📖
Documentation
https://platform.openai.com/docs/guides/fine-tuning
📖
Documentation
https://platform.openai.com/docs/api-reference/fine-tuning
📖
Documentation
https://platform.openai.com/docs/guides/images
📖
Documentation
https://platform.openai.com/docs/api-reference/images
📖
Documentation
https://platform.openai.com/docs/guides/image-generation
📖
Documentation
https://platform.openai.com/docs/guides/images-vision
📖
Documentation
https://platform.openai.com/docs/models
📖
Documentation
https://platform.openai.com/docs/api-reference/models
📖
Documentation
https://platform.openai.com/docs/assistants/how-it-works/managing-threads-and-messages
📖
Documentation
https://platform.openai.com/docs/api-reference/threads
📖
Documentation
https://platform.openai.com/docs/api-reference/completions

Specifications

Schemas & Data

Other Resources

Work with this as data

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-group-role-assignments-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 Specification

openai-project-group-role-assignments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: OpenAI Project group 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: Project group role assignments
paths:
  /projects/{project_id}/groups/{group_id}/roles:
    get:
      security:
      - AdminApiKeyAuth: []
      summary: Lists the project roles assigned to a group within a project.
      operationId: list-project-group-role-assignments
      tags:
      - Project group role assignments
      parameters:
      - name: project_id
        in: path
        description: The ID of the project to inspect.
        required: true
        schema:
          type: string
      - name: group_id
        in: path
        description: The ID of the group to inspect.
        required: true
        schema:
          type: string
      - name: limit
        in: query
        description: A limit on the number of project 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 project roles.
        required: false
        schema:
          type: string
      - name: order
        in: query
        description: Sort order for the returned project roles.
        required: false
        schema:
          type: string
          enum:
          - asc
          - desc
      responses:
        '200':
          description: Project group role assignments listed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleListResource'
      x-oaiMeta:
        name: List project group role assignments
        group: administration
        examples:
          request:
            curl: "curl https://api.openai.com/v1/projects/proj_abc123/groups/group_01J1F8ABCDXYZ/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.projects.groups.roles.list(\n  'group_id',\n  { project_id: 'project_id' },\n)) {\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.projects.groups.roles.list(\n    group_id=\"group_id\",\n    project_id=\"project_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.Projects.Groups.Roles.List(\n\t\tcontext.TODO(),\n\t\t\"project_id\",\n\t\t\"group_id\",\n\t\topenai.AdminOrganizationProjectGroupRoleListParams{},\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.roles.RoleListPage;\nimport com.openai.models.admin.organization.projects.groups.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        RoleListParams params = RoleListParams.builder()\n            .projectId(\"project_id\")\n            .groupId(\"group_id\")\n            .build();\n        RoleListPage page = client.admin().organization().projects().groups().roles().list(params);\n    }\n}"
            ruby: 'require "openai"


              openai = OpenAI::Client.new(admin_api_key: "My Admin API Key")


              page = openai.admin.organization.projects.groups.roles.list("group_id", project_id: "project_id")


              puts(page)'
          response: "{\n    \"object\": \"list\",\n    \"data\": [\n        {\n            \"id\": \"role_01J1F8PROJ\",\n            \"name\": \"API Project Key Manager\",\n            \"permissions\": [\n                \"api.organization.projects.api_keys.read\",\n                \"api.organization.projects.api_keys.write\"\n            ],\n            \"resource_type\": \"api.project\",\n            \"predefined_role\": false,\n            \"description\": \"Allows managing API keys for the project\",\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 a project role to a group within a project.
      operationId: assign-project-group-role
      tags:
      - Project group role assignments
      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 that should receive the project role.
        required: true
        schema:
          type: string
      requestBody:
        description: Identifies the project role to assign to the group.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicAssignOrganizationGroupRoleBody'
      responses:
        '200':
          description: Project role assigned to the group successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupRoleAssignment'
      x-oaiMeta:
        name: Assign project role to group
        group: administration
        examples:
          request:
            curl: "curl -X POST https://api.openai.com/v1/projects/proj_abc123/groups/group_01J1F8ABCDXYZ/roles \\\n  -H \"Authorization: Bearer $OPENAI_ADMIN_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n      \"role_id\": \"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 role = await client.admin.organization.projects.groups.roles.create('group_id', {\n  project_id: 'project_id',\n  role_id: 'role_id',\n});\n\nconsole.log(role.group);"
            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.projects.groups.roles.create(\n    group_id=\"group_id\",\n    project_id=\"project_id\",\n    role_id=\"role_id\",\n)\nprint(role.group)"
            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.Projects.Groups.Roles.New(\n\t\tcontext.TODO(),\n\t\t\"project_id\",\n\t\t\"group_id\",\n\t\topenai.AdminOrganizationProjectGroupRoleNewParams{\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.Group)\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.roles.RoleCreateParams;\nimport com.openai.models.admin.organization.projects.groups.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            .projectId(\"project_id\")\n            .groupId(\"group_id\")\n            .roleId(\"role_id\")\n            .build();\n        RoleCreateResponse role = client.admin().organization().projects().groups().roles().create(params);\n    }\n}"
            ruby: "require \"openai\"\n\nopenai = OpenAI::Client.new(admin_api_key: \"My Admin API Key\")\n\nrole = openai.admin.organization.projects.groups.roles.create(\n  \"group_id\",\n  project_id: \"project_id\",\n  role_id: \"role_id\"\n)\n\nputs(role)"
          response: "{\n    \"object\": \"group.role\",\n    \"group\": {\n        \"object\": \"group\",\n        \"id\": \"group_01J1F8ABCDXYZ\",\n        \"name\": \"Support Team\",\n        \"created_at\": 1711471533,\n        \"scim_managed\": false\n    },\n    \"role\": {\n        \"object\": \"role\",\n        \"id\": \"role_01J1F8PROJ\",\n        \"name\": \"API Project Key Manager\",\n        \"description\": \"Allows managing API keys for the project\",\n        \"permissions\": [\n            \"api.organization.projects.api_keys.read\",\n            \"api.organization.projects.api_keys.write\"\n        ],\n        \"resource_type\": \"api.project\",\n        \"predefined_role\": false\n    }\n}\n"
  /projects/{project_id}/groups/{group_id}/roles/{role_id}:
    delete:
      security:
      - AdminApiKeyAuth: []
      summary: Unassigns a project role from a group within a project.
      operationId: unassign-project-group-role
      tags:
      - Project group role assignments
      parameters:
      - name: project_id
        in: path
        description: The ID of the project to modify.
        required: true
        schema:
          type: string
      - name: group_id
        in: path
        description: The ID of the group whose project role assignment should be removed.
        required: true
        schema:
          type: string
      - name: role_id
        in: path
        description: The ID of the project role to remove from the group.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Project role unassigned from the group successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeletedRoleAssignmentResource'
      x-oaiMeta:
        name: Unassign project role from group
        group: administration
        examples:
          request:
            curl: "curl -X DELETE https://api.openai.com/v1/projects/proj_abc123/groups/group_01J1F8ABCDXYZ/roles/role_01J1F8PROJ \\\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.projects.groups.roles.delete('role_id', {\n  project_id: 'project_id',\n  group_id: 'group_id',\n});\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.projects.groups.roles.delete(\n    role_id=\"role_id\",\n    project_id=\"project_id\",\n    group_id=\"group_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.Projects.Groups.Roles.Delete(\n\t\tcontext.TODO(),\n\t\t\"project_id\",\n\t\t\"group_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.projects.groups.roles.RoleDeleteParams;\nimport com.openai.models.admin.organization.projects.groups.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            .projectId(\"project_id\")\n            .groupId(\"group_id\")\n            .roleId(\"role_id\")\n            .build();\n        RoleDeleteResponse role = client.admin().organization().projects().groups().roles().delete(params);\n    }\n}"
            ruby: "require \"openai\"\n\nopenai = OpenAI::Client.new(admin_api_key: \"My Admin API Key\")\n\nrole = openai.admin.organization.projects.groups.roles.delete(\n  \"role_id\",\n  project_id: \"project_id\",\n  group_id: \"group_id\"\n)\n\nputs(role)"
          response: "{\n    \"object\": \"group.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
    Group:
      type: object
      description: Summary information about a group returned in role assignment responses.
      properties:
        object:
          type: string
          enum:
          - group
          description: Always `group`.
          x-stainless-const: true
        id:
          type: string
          description: Identifier for the group.
        name:
          type: string
          description: Display name of the group.
        created_at:
          type: integer
          format: unixtime
          description: Unix timestamp (in seconds) when the group was created.
        scim_managed:
          type: boolean
          description: Whether the group is managed through SCIM.
      required:
      - object
      - id
      - name
      - created_at
      - scim_managed
      x-oaiMeta:
        name: The group object
        example: "{\n    \"object\": \"group\",\n    \"id\": \"group_01J1F8ABCDXYZ\",\n    \"name\": \"Support Team\",\n    \"created_at\": 1711471533,\n    \"scim_managed\": false\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"
    GroupRoleAssignment:
      type: object
      description: Role assignment linking a group to a role.
      properties:
        object:
          type: string
          enum:
          - group.role
          description: Always `group.role`.
          x-stainless-const: true
        group:
          $ref: '#/components/schemas/Group'
        role:
          $ref: '#/components/schemas/Role'
      required:
      - object
      - group
      - role
      x-oaiMeta:
        name: The group role object
        example: "{\n    \"object\": \"group.role\",\n    \"group\": {\n        \"object\": \"group\",\n        \"id\": \"group_01J1F8ABCDXYZ\",\n        \"name\": \"Support Team\",\n        \"created_at\": 1711471533,\n        \"scim_managed\": false\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"
    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"
  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: RealtimeServerEventI

# --- truncated at 32 KB (42 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/openai/refs/heads/main/openapi/openai-project-group-role-assignments-api-openapi.yml