28

How to define constant string variable in swagger open api 3.0 ? If I define enum it would be like as follows

"StatusCode": {
        "title": "StatusCode",
        "enum": [
          "success",
          "fail"
        ],
        "type": "string"          

 } 

But enums can be list of values, Is there any way to define string constant in swagger open api 3.0

code can be executed form the http://editor.swagger.io/

Harsha Gayan
  • 339
  • 1
  • 5
  • 13

2 Answers2

27

As @Helen already pointed out, and as you can read in the linked answer, currently it does not seem to get any better than an enum with only one value. Full example that can be pasted into http://editor.swagger.io/:

{
  "openapi": "3.0.0",
  "info": {
    "title": "Some API",
    "version": "Some version"
  },
  "paths": {},
  "components": {
    "schemas": {
      "StatusCode": {
        "title": "StatusCode",
        "enum": [
          "The only possible value"
        ],
        "type": "string"
      }
    }
  }
}

There is a related topic on Github which is unsolved as of now: https://github.com/OAI/OpenAPI-Specification/issues/1313

Max Alibaev
  • 681
  • 7
  • 17
Dirk
  • 9,381
  • 17
  • 70
  • 98
0

You can define a constant parameter as a required parameter with only one possible value

But if you have more than one parameter it can't be an constant. In the api all value can be changed if have an multiple choice.

Ref: https://swagger.io/docs/specification/2-0/describing-parameters/

znndrd
  • 79
  • 1
  • 8