OpenAI Project groups API

The Project groups API from OpenAI — 2 operation(s) for project groups.

Business capability
Identity & Access Management BC-620.20

Operations 4

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /organization/projects/{project_id}/groups List groups with access to a project · List project groups #
Ask an LLM
“Which groups have access to a given project?”
“Can I page through the groups attached to one project?”
Tell an agent
List the groups with access to project {project_id}.
Show the first {limit} groups on project {project_id}.
POST /organization/projects/{project_id}/groups Grant a group access to a project · Add project group #
Ask an LLM
“How do I give an entire group access to a project?”
“Can I choose which project role a group gets when I add it?”
Tell an agent
Grant group {group_id} access to project {project_id} with role {role}.
Add group {group_id} to project {project_id} as {role}.
GET /organization/projects/{project_id}/groups/{group_id} Retrieve project group #
DELETE /organization/projects/{project_id}/groups/{group_id} Revoke a group's access to a project · Remove project group #
Ask an LLM
“Can I cut off a group's access to a single project?”
“How do I remove a group from a project?”
Tell an agent destructive · confirm first
Remove group {group_id} from project {project_id}.
Revoke project {project_id} access for group {group_id}.

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: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 Specification

openai-project-groups-api-openapi.yml Raw ↑
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
    identifier: MIT
servers:
- url: https://api.openai.com/v1
security:
- ApiKeyAuth: []
tags:
- name: Project Groups
paths:
  /organization/projects/{project_id}/groups:
    get:
      security:
      - AdminApiKeyAuth: []
      summary: List project groups
      description: 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'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      x-oaiMeta:
        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"
          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: Add project group
      description: 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'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      x-oaiMeta:
        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"
          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}:
    get:
      security:
      - AdminApiKeyAuth: []
      summary: Retrieve project group
      description: Retrieves a project's group.
      operationId: retrieve-project-group
      tags:
      - Project Groups
      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 retrieve.
        required: true
        schema:
          type: string
      - name: group_type
        in: query
        description: The type of group to retrieve.
        required: false
        schema:
          type: string
          enum:
          - group
          - tenant_group
          default: group
      responses:
        '200':
          description: Project group retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectGroup'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      x-oaiMeta:
        group: administration
        examples:
          request:
            curl: "curl 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"
          response: "{\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"
    delete:
      security:
      - AdminApiKeyAuth: []
      summary: Remove project group
      description: 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'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      x-oaiMeta:
        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"
          response: "{\n    \"object\": \"project.group.deleted\",\n    \"deleted\": true\n}\n"
components:
  schemas:
    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
          enum:
          - group
          - tenant_group
          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"
    _MisalignmentErrorType:
      anyOf:
      - type: string
      - type: string
        enum:
        - potentially_unintended_data_transfer
        - potentially_unintended_data_access
        - potentially_unintended_destructive_activity
        - other
    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"
    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"
    _MisalignmentSteer:
      properties:
        message:
          type: string
          description: The public continuation instruction.
      type: object
      required:
      - message
    Error:
      type: object
      properties:
        code:
          anyOf:
          - type: string
          - type: 'null'
        message:
          type: string
        param:
          anyOf:
          - type: string
          - type: 'null'
        type:
          type: string
        misalignment:
          $ref: '#/components/schemas/MisalignmentErrorDetailsResource'
      required:
      - type
      - message
      - param
      - code
    ErrorResponse:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/Error'
      required:
      - error
    MisalignmentErrorDetailsResource:
      properties:
        error_type:
          $ref: '#/components/schemas/_MisalignmentErrorType'
          description: An optional classification; clients must accept additional values.
        detailed_explanation:
          type: string
          description: The public explanation for this block.
        steer:
          $ref: '#/components/schemas/_MisalignmentSteer'
          description: An optional public continuation instruction.
      type: object
      required: []
    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"
  responses:
    TooManyRequests:
      description: The request was rejected because a rate limit was exceeded.
      headers:
        Retry-After:
          description: The minimum number of seconds to wait before retrying. This header is returned when the server has computed a retry delay and may be omitted for 429 responses that require user action.
          schema:
            type: integer
            minimum: 1
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  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: live
    title: Live (alpha)
  - 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](https://developers.openai.com/api/reference/resources/responses/methods/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.


      When processing a `compaction_trigger`, `response.compaction.compacting`

      reports newly sampled summary output at most once every 30 seconds. It

      carries no summary content and does not modify the compaction output item.

      The existing `response.output_item.added` and `response.output_item.done`

      events mark that item''s lifecycle; `response.output_item.done` carries its

      final encrypted content. A short compaction may finish without emitting a

      progress event.


      [Learn more about streaming responses](https://developers.openai.com/api/docs/guides/streaming-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: ResponseCompactionCompactingEvent
      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: responses-websocket-client-events
    title: Client events
    description: 'Events sent by the client over a Responses API WebSocket connection.

      '
    navigationGroup: responses
    sections:
    - type: object
      key: ResponsesClientEventResponseCreate
      path: <auto>
    - type: object
      key: ResponseSteerEvent
      path: <auto>
  - id: responses-websocket-server-events
    title: Server events (WebSocket only)
    description: 'Events emitted only over a Responses API WebSocket connection.

      '
    navigationGroup: responses
    sections:
    - type: object
      key: ResponseSteerAcceptedEvent
      path: <auto>
    - type: object
      key: ResponseSteerPendingEvent
      path: <auto>
    - type: object
      key: ResponseSteerFailedEvent
      path: <auto>
  - id: responses-websocket-shared-events
    title: Server events
    description: 'These events use the same payloads over WebSocket and

      [HTTP streaming](https://developers.openai.com/api/reference/resources/responses/streaming-events).

      Compaction progress follows the same cadence and output-item lifecycle

      described in HTTP streaming.

      '
    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: ResponseCompactionCompactingEvent
      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: safety-cases
    title: Safety Cases
    description: 'Retrieve details about a safety warning or deactivation using the case ID

      from a `safety.warning_issued` or `safety.deactivation_issued` webhook event.

      Cases belong to an organization and require an API key with `api.safety.read`.

      '
    navigationGroup: endpoints
    sections:
    - type: endpoint
      key: Getsafetycase
      path: retrieve
    - type: object
      key: SafetyCaseResource
      path: object
  - id: safety-alerts
    title: Safety Alerts
    description: 'Retrieve approved safety alerts with an API key. Project keys require

      `api.safety.alerts.read` and can read alerts from their project.

      '
    navigationGroup: endpoints
    sections:
    - type: endpoint
      key: Getprojectsafetyalert
      path: retrieve
    - type: object
      key: SafetyAlertResource
      path: object
  - 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](https://developers.openai.com/api/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>
    - type: object
      key: WebhookLiveCallIncoming
      path: <auto>
    - type: object
      key: WebhookLiveTransportIncoming
      path: <auto>
    - type: object
      key: WebhookSafetyWarningIssued
      path: <auto>
    - type: object
      key: WebhookSafetyDeactivationIssued
      path: <auto>
    - type: object
      key: WebhookSafetyAlertCreated
      path: <auto>
    - type: object
      key: WebhookSafetyOrgAlertCreated
      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](https://developers.openai.com/api/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>


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