OpenAPI parser bug: $ref in parameters

According to OpenAPI spec, Path Item Object’s parameters must be an array of [Parameter Object | Reference Object],
however ChatGPT plugin loader cannot parse OpenAPI yaml using Reference Object (i.e. the $ref: '...' syntax) in that field.

Example:

openapi: 3.0.3
info:
  title: ...
  description: ...
  version: v1
servers:
  - url: ... [links not allowed]

paths:
  /api/v1/test/{testid}/run:
    post:
      operationId: runTest
      summary: |-
        Does something.
      parameters:
        - $ref: '#/components/parameters/testId'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/empty'
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/empty'

components:
  parameters:
    testId:
      in: path
      name: testid
      schema:
        type: string
      required: true
      description: |-
        The unique id of the test.

  schemas:
    empty:
      type: object
      properties: {}

The API validates and properly interprets $ref: '#/components/parameters/testId' using Swagger Editor,
however when loaded by as ChatGPT plugin, the developer tools report parsing error:

Warnings in OpenAPI spec
In path /api/v1/test/{testid}/run, method post, operationId runTest, parameter {'$ref': '#/components/parameters/testId'} is has missing or non-string name; skipping
In path /api/v1/test/{testid}/run, method post, operationId runTest, skipping function due to errors
3 Likes