OpenAI Decisions API

The Decisions API from OpenAI — 1 operation(s) for decisions. Ask classification or scoring questions about the same input and get the answers back in order (public beta).

Operations 1

POST /decisions Create a decision #

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-decisions-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-decisions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: OpenAI Decisions 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: Decisions
paths:
  /decisions:
    post:
      operationId: createDecision
      summary: Create a decision
      description: 'Use this endpoint to ask classification or scoring questions about the same input. You’ll get the answers back in the order you asked the questions.


        For text, you can pass a string. You can also send user messages containing `input_text` and `input_image` parts, with up to 128 images per request. Images can be base64 data URLs or publicly accessible HTTP(S) URLs. File IDs aren’t accepted. Other message roles, function calls, files, audio, and item references aren’t supported.


        Sometimes a question returns a refusal instead of an answer. The result has type `refusal` and includes the question’s name, or `null` if you didn’t give it one.'
      tags:
      - Decisions
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DecisionRequest'
        required: true
      responses:
        '200':
          description: The answers and token usage.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DecisionResponse'
      x-oaiMeta:
        group: decisions
        examples:
          request:
            curl: "curl https://api.openai.com/v1/decisions \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer $OPENAI_API_KEY\" \\\n  -d '{\n    \"model\": \"gpt-6-luna\",\n    \"input\": \"The package arrived with a broken screen.\",\n    \"questions\": [\n      {\n        \"type\": \"predicate\",\n        \"name\": \"damaged\",\n        \"instructions\": \"Does the customer report a damaged item?\"\n      }\n    ]\n  }'\n"
          response: "{\n  \"model\": \"gpt-6-luna\",\n  \"answers\": [\n    {\"type\": \"predicate\", \"name\": \"damaged\", \"probability\": 0.95}\n  ],\n  \"usage\": {\n    \"input_tokens\": 42,\n    \"input_tokens_details\": {\"cached_tokens\": 0, \"cache_write_tokens\": 0},\n    \"output_tokens\": 0,\n    \"output_tokens_details\": {\"reasoning_tokens\": 0},\n    \"total_tokens\": 42\n  }\n}\n"
components:
  schemas:
    DecisionInput:
      oneOf:
      - type: string
        minLength: 0
        maxLength: 10485760
      - type: array
        items:
          oneOf:
          - $ref: '#/components/schemas/DecisionInputMessage'
          discriminator:
            propertyName: type
            mapping:
              message: '#/components/schemas/DecisionInputMessage'
          x-oai-discriminator-values:
          - message
          x-oai-default-discriminator-value: message
        minItems: 0
        maxItems: 131072
      description: The text or images to evaluate for every question. Provide a text string or user messages containing text and images. Images can be base64 data URLs or publicly accessible HTTP(S) URLs; at most 128 images are allowed across all messages in one request. Files, audio, tools, and item references are not supported.
    QuestionParamPredicate:
      type: object
      properties:
        type:
          type: string
          enum:
          - predicate
          default: predicate
          x-stainless-const: true
          description: The type of the object. Always `predicate`.
        name:
          type: string
          minLength: 0
          maxLength: 1048576
        instructions:
          type: string
          minLength: 0
          maxLength: 1048576
      required:
      - type
      - instructions
      additionalProperties: false
      description: Estimate how likely it is that a statement about the input is true.
    ChoiceValueResource:
      oneOf:
      - type: string
        minLength: 0
      - type: boolean
      description: 'Choice values are typed: a string and a boolean with the same text are distinct.'
    ChoiceOptionParam:
      type: object
      properties:
        value:
          $ref: '#/components/schemas/ChoiceValueParam'
        description:
          type: string
          minLength: 0
          maxLength: 1048576
      required:
      - value
      additionalProperties: false
    AnswerResourceRefusal:
      type: object
      properties:
        type:
          type: string
          enum:
          - refusal
          default: refusal
          x-stainless-const: true
          description: The type of the object. Always `refusal`.
        name:
          type:
          - string
          - 'null'
          minLength: 0
      required:
      - type
      - name
      additionalProperties: false
      description: The model declined to answer this question. Other questions in the same request can still receive answers.
    DecisionInputMessage:
      type: object
      properties:
        role:
          type: string
          enum:
          - user
          default: user
          x-stainless-const: true
        content:
          $ref: '#/components/schemas/DecisionInputContent'
        type:
          type: string
          enum:
          - message
          default: message
          x-stainless-const: true
      required:
      - role
      - content
      additionalProperties: false
      description: A user message containing text or images.
    InputTokensDetailsResource:
      type: object
      properties:
        cached_tokens:
          type: integer
          format: int64
          minimum: -2147483648
          maximum: 2147483647
        cache_write_tokens:
          type: integer
          format: int64
          minimum: -2147483648
          maximum: 2147483647
      required:
      - cached_tokens
      - cache_write_tokens
      additionalProperties: false
    DecisionRequest:
      type: object
      properties:
        model:
          type: string
          minLength: 0
          maxLength: 1048576
        input:
          $ref: '#/components/schemas/DecisionInput'
        questions:
          type: array
          items:
            $ref: '#/components/schemas/QuestionParam'
          minItems: 1
          maxItems: 200
        safety_identifier:
          type:
          - string
          - 'null'
          minLength: 0
          maxLength: 128
          description: Opaque caller-provided end-user identifier, scoped by the verified org. Match Responses' limit; this is never the authenticated user identity.
      required:
      - model
      - input
      - questions
      additionalProperties: false
    DecisionInputContent:
      oneOf:
      - type: string
        minLength: 0
        maxLength: 10485760
      - $ref: '#/components/schemas/DecisionInputContentParts'
        title: Parts
      description: Text evidence or an ordered list of text and image parts.
    DecisionInputImage:
      type: object
      properties:
        image_url:
          type: string
          minLength: 0
          maxLength: 1073741824
          pattern: ^(data:|https?://)
          description: A base64-encoded image in a data URL or a publicly accessible HTTP(S) image URL.
        detail:
          anyOf:
          - $ref: '#/components/schemas/ImageDetailParam'
          - type: 'null'
          description: The image detail level, using the selected model's image profile. Defaults to auto.
          default: auto
        type:
          type: string
          enum:
          - input_image
          default: input_image
          x-stainless-const: true
      required:
      - image_url
      - type
      additionalProperties: false
      description: An image provided as a base64 data URL or a publicly accessible HTTP(S) URL. File IDs are not supported.
    QuestionParamChoice:
      type: object
      properties:
        type:
          type: string
          enum:
          - choice
          default: choice
          x-stainless-const: true
          description: The type of the object. Always `choice`.
        name:
          type: string
          minLength: 0
          maxLength: 1048576
        instructions:
          type: string
          minLength: 0
          maxLength: 1048576
        choices:
          type: array
          items:
            $ref: '#/components/schemas/ChoiceOptionParam'
          minItems: 2
          maxItems: 255
          description: Provide between 2 and 255 choices. Each choice must be unique.
      required:
      - type
      - instructions
      - choices
      additionalProperties: false
      description: Choose from the supplied options based on the input.
    AnswerResourceChoice:
      type: object
      properties:
        type:
          type: string
          enum:
          - choice
          default: choice
          x-stainless-const: true
          description: The type of the object. Always `choice`.
        name:
          type:
          - string
          - 'null'
          minLength: 0
        choice:
          $ref: '#/components/schemas/ChoiceValueResource'
        probabilities:
          type: array
          items:
            $ref: '#/components/schemas/ChoiceProbabilityResource'
          minItems: 0
          maxItems: 2000
        confidence:
          type: number
      required:
      - type
      - name
      - choice
      - probabilities
      - confidence
      additionalProperties: false
    QuestionParamScore:
      type: object
      properties:
        type:
          type: string
          enum:
          - score
          default: score
          x-stainless-const: true
          description: The type of the object. Always `score`.
        name:
          type: string
          minLength: 0
          maxLength: 1048576
        instructions:
          type: string
          minLength: 0
          maxLength: 1048576
        levels:
          type: array
          items:
            $ref: '#/components/schemas/ScoreLevelParam'
          minItems: 2
          maxItems: 10
      required:
      - type
      - instructions
      - levels
      additionalProperties: false
      description: Rate the input against the supplied ordered levels.
    DecisionInputText:
      type: object
      properties:
        type:
          type: string
          enum:
          - input_text
          default: input_text
          x-stainless-const: true
        text:
          type: string
          minLength: 0
          maxLength: 10485760
      required:
      - type
      - text
      additionalProperties: false
    ResponseUsageResource:
      type: object
      properties:
        input_tokens:
          type: integer
          format: int64
          minimum: -2147483648
          maximum: 2147483647
        input_tokens_details:
          $ref: '#/components/schemas/InputTokensDetailsResource'
        output_tokens:
          type: integer
          format: int64
          minimum: -2147483648
          maximum: 2147483647
        output_tokens_details:
          $ref: '#/components/schemas/OutputTokensDetailsResource'
        total_tokens:
          type: integer
          format: int64
          minimum: -2147483648
          maximum: 2147483647
      required:
      - input_tokens
      - input_tokens_details
      - output_tokens
      - output_tokens_details
      - total_tokens
      additionalProperties: false
    DecisionInputContentParts:
      type: array
      items:
        oneOf:
        - $ref: '#/components/schemas/DecisionInputText'
        - $ref: '#/components/schemas/DecisionInputImage'
        discriminator:
          propertyName: type
          mapping:
            input_text: '#/components/schemas/DecisionInputText'
            input_image: '#/components/schemas/DecisionInputImage'
        x-oai-discriminator-values:
        - input_text
        - input_image
      minItems: 0
      maxItems: 16384
    QuestionParam:
      oneOf:
      - $ref: '#/components/schemas/QuestionParamPredicate'
      - $ref: '#/components/schemas/QuestionParamChoice'
      - $ref: '#/components/schemas/QuestionParamScore'
      discriminator:
        propertyName: type
        mapping:
          predicate: '#/components/schemas/QuestionParamPredicate'
          choice: '#/components/schemas/QuestionParamChoice'
          score: '#/components/schemas/QuestionParamScore'
      x-oai-discriminator-values:
      - predicate
      - choice
      - score
      description: A question about the request's input, with an optional correlation name.
    AnswerResourcePredicate:
      type: object
      properties:
        type:
          type: string
          enum:
          - predicate
          default: predicate
          x-stainless-const: true
          description: The type of the object. Always `predicate`.
        name:
          type:
          - string
          - 'null'
          minLength: 0
        probability:
          type: number
      required:
      - type
      - name
      - probability
      additionalProperties: false
    DecisionResponse:
      type: object
      properties:
        model:
          type: string
          minLength: 0
        answers:
          type: array
          items:
            $ref: '#/components/schemas/AnswerResource'
          minItems: 0
          maxItems: 2000
        usage:
          $ref: '#/components/schemas/ResponseUsageResource'
      required:
      - model
      - answers
      - usage
      additionalProperties: false
    ScoreLevelParam:
      type: object
      properties:
        label:
          type: string
          minLength: 0
          maxLength: 1048576
        description:
          type: string
          minLength: 0
          maxLength: 1048576
      required:
      - label
      additionalProperties: false
    ImageDetailParam:
      type: string
      enum:
      - low
      - high
      - auto
      - original
    AnswerResourceScore:
      type: object
      properties:
        type:
          type: string
          enum:
          - score
          default: score
          x-stainless-const: true
          description: The type of the object. Always `score`.
        name:
          type:
          - string
          - 'null'
          minLength: 0
        score:
          type: number
        probabilities:
          type: array
          items:
            $ref: '#/components/schemas/ScoreProbabilityResource'
          minItems: 0
          maxItems: 2000
        confidence:
          type: number
      required:
      - type
      - name
      - score
      - probabilities
      - confidence
      additionalProperties: false
    ChoiceProbabilityResource:
      type: object
      properties:
        value:
          $ref: '#/components/schemas/ChoiceValueResource'
        probability:
          type: number
      required:
      - value
      - probability
      additionalProperties: false
    ScoreProbabilityResource:
      type: object
      properties:
        value:
          type: integer
          format: int64
        label:
          type: string
          minLength: 0
        probability:
          type: number
      required:
      - value
      - label
      - probability
      additionalProperties: false
    ChoiceValueParam:
      oneOf:
      - type: string
        minLength: 0
        maxLength: 1048576
      - type: boolean
      description: 'Choice values are typed: a string and a boolean with the same text are distinct.'
    AnswerResource:
      oneOf:
      - $ref: '#/components/schemas/AnswerResourcePredicate'
      - $ref: '#/components/schemas/AnswerResourceChoice'
      - $ref: '#/components/schemas/AnswerResourceScore'
      - $ref: '#/components/schemas/AnswerResourceRefusal'
      discriminator:
        propertyName: type
        mapping:
          predicate: '#/components/schemas/AnswerResourcePredicate'
          choice: '#/components/schemas/AnswerResourceChoice'
          score: '#/components/schemas/AnswerResourceScore'
          refusal: '#/components/schemas/AnswerResourceRefusal'
      x-oai-discriminator-values:
      - predicate
      - choice
      - score
      - refusal
      description: A completed question always includes its name, including null when unnamed.
    OutputTokensDetailsResource:
      type: object
      properties:
        reasoning_tokens:
          type: integer
          format: int64
          minimum: -2147483648
          maximum: 2147483647
      required:
      - reasoning_tokens
      additionalProperties: false
  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 (47 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/openai/refs/heads/main/openapi/openai-decisions-api-openapi.yml