profile
viewpoint

Ask questionsArbitrary query parameter names?

I'm pretty new to openapi, so apologies if this has been asked before. I haven't been able to find a similar question anywhere.

I'm working creating an openapi.yml for an existing API we have at my workplace.

For better or worse, the API supports arbitrary query parameter names. Values are always supplied. These pairs are interpreted as tag name/value pairs of particular resources (computational resources). Here are a few examples (with some name simplifications) of how the API can be invoked:

GET /resources?state=active&tagName1=tagValue1&tagName2=tagValue2

GET /resources?tagName6=tagValue6

GET /resources?state=active

Both the tagNameNs and tagValueN's are user-supplied and arbitrary, but have to conform to be "identifier names" (no spaces, alphanumeric, must not start with a digit).

The only query parameter with a fixed, known name is state.

Is there some way of expressing this notion in openapi?

I appreciate this is pretty unusual, and perhaps the description might be the only means to express this.

For reference here's a section of my openapi.yml file for this endpoint.

openapi: 3.0.0
info:
  title: Service
  description: Endpoints
  version: 1.0.0
paths:
  /resources:
    get:
      parameters:
        - in: query
          name: state
          schema:
            type: string
            enum:
              - active
              - inactive
        - in: query
         # TODO - how to describe tagNameN/tagValueN here?
      responses:
        '200':
          description: "All resources successfully obtained."

Any insights or advice appreciated.

Thanks in advance.

OAI/OpenAPI-Specification

Answer questions MikeRalphson

I checked the issues for "dynamic parameter names" and came up with issues #1637 and #1054 which may be related? Can you let me know if you think there is some similarity and maybe we can coalesce the discussion here as you have expressed the issue in quite general terms.

useful!
source:https://uonfu.com/
answerer
Mike Ralphson MikeRalphson Postman, Inc. Newbury. UK http://mermade.github.io My hovercard is full of eels. I will not buy this repository; it is scratched.
Github User Rank List