github.com/grpc-ecosystem/grpc-gateway/v2@v2.19.1/examples/internal/proto/examplepb/visibility_rule_internal_echo_service.swagger.json (about)

     1  {
     2    "swagger": "2.0",
     3    "info": {
     4      "title": "examples/internal/proto/examplepb/visibility_rule_echo_service.proto",
     5      "description": "Visibility Rule Echo Service\nSimilar to echo_service.proto but with annotations to change visibility\nof services, methods, fields and enum values.\n\n`google.api.VisibilityRule` annotations are added to customize where they are generated.\nCombined with the option `visibility_restriction_selectors` overlapping rules will appear in the OpenAPI output.\nElements without `google.api.VisibilityRule` annotations will appear as usual in the generated output.\n\nThese restrictions and selectors are completely arbitrary and you can define whatever values or hierarchies you want.\nIn this example `INTERNAL`, `PREVIEW` are used, but `INTERNAL`, `ALPHA`, `BETA`, `RELEASED`, or anything else could be used if you wish.",
     6      "version": "version not set"
     7    },
     8    "tags": [
     9      {
    10        "name": "VisibilityRuleEchoService"
    11      },
    12      {
    13        "name": "VisibilityRuleInternalEchoService"
    14      }
    15    ],
    16    "consumes": [
    17      "application/json"
    18    ],
    19    "produces": [
    20      "application/json"
    21    ],
    22    "paths": {
    23      "/v1/example/echo/{id}": {
    24        "post": {
    25          "summary": "Echo method receives a simple message and returns it.\nIt should always be visible in the open API output.",
    26          "operationId": "VisibilityRuleEchoService_Echo",
    27          "responses": {
    28            "200": {
    29              "description": "A successful response.",
    30              "schema": {
    31                "$ref": "#/definitions/examplepbVisibilityRuleSimpleMessage"
    32              }
    33            },
    34            "default": {
    35              "description": "An unexpected error response.",
    36              "schema": {
    37                "$ref": "#/definitions/rpcStatus"
    38              }
    39            }
    40          },
    41          "parameters": [
    42            {
    43              "name": "id",
    44              "description": "Id represents the message identifier.",
    45              "in": "path",
    46              "required": true,
    47              "type": "string"
    48            },
    49            {
    50              "name": "num",
    51              "in": "query",
    52              "required": false,
    53              "type": "string",
    54              "format": "int64"
    55            },
    56            {
    57              "name": "lineNum",
    58              "in": "query",
    59              "required": false,
    60              "type": "string",
    61              "format": "int64"
    62            },
    63            {
    64              "name": "lang",
    65              "in": "query",
    66              "required": false,
    67              "type": "string"
    68            },
    69            {
    70              "name": "status.progress",
    71              "in": "query",
    72              "required": false,
    73              "type": "string",
    74              "format": "int64"
    75            },
    76            {
    77              "name": "status.note",
    78              "in": "query",
    79              "required": false,
    80              "type": "string"
    81            },
    82            {
    83              "name": "status.internalField",
    84              "in": "query",
    85              "required": false,
    86              "type": "string"
    87            },
    88            {
    89              "name": "status.previewField",
    90              "in": "query",
    91              "required": false,
    92              "type": "string"
    93            },
    94            {
    95              "name": "en",
    96              "in": "query",
    97              "required": false,
    98              "type": "string",
    99              "format": "int64"
   100            },
   101            {
   102              "name": "no.progress",
   103              "in": "query",
   104              "required": false,
   105              "type": "string",
   106              "format": "int64"
   107            },
   108            {
   109              "name": "no.note",
   110              "in": "query",
   111              "required": false,
   112              "type": "string"
   113            },
   114            {
   115              "name": "no.internalField",
   116              "in": "query",
   117              "required": false,
   118              "type": "string"
   119            },
   120            {
   121              "name": "no.previewField",
   122              "in": "query",
   123              "required": false,
   124              "type": "string"
   125            },
   126            {
   127              "name": "internalField",
   128              "in": "query",
   129              "required": false,
   130              "type": "string"
   131            },
   132            {
   133              "name": "previewField",
   134              "in": "query",
   135              "required": false,
   136              "type": "string"
   137            },
   138            {
   139              "name": "anEnum",
   140              "in": "query",
   141              "required": false,
   142              "type": "string",
   143              "enum": [
   144                "VISIBILITY_ENUM_UNSPECIFIED",
   145                "VISIBILITY_ENUM_VISIBLE",
   146                "VISIBILITY_ENUM_INTERNAL",
   147                "VISIBILITY_ENUM_PREVIEW"
   148              ],
   149              "default": "VISIBILITY_ENUM_UNSPECIFIED"
   150            }
   151          ],
   152          "tags": [
   153            "VisibilityRuleEchoService"
   154          ]
   155        }
   156      },
   157      "/v1/example/echo_internal": {
   158        "get": {
   159          "summary": "EchoInternal is an internal API that should only be visible in the OpenAPI spec\nif `visibility_restriction_selectors` includes \"INTERNAL\".",
   160          "operationId": "VisibilityRuleEchoService_EchoInternal",
   161          "responses": {
   162            "200": {
   163              "description": "A successful response.",
   164              "schema": {
   165                "$ref": "#/definitions/examplepbVisibilityRuleSimpleMessage"
   166              }
   167            },
   168            "default": {
   169              "description": "An unexpected error response.",
   170              "schema": {
   171                "$ref": "#/definitions/rpcStatus"
   172              }
   173            }
   174          },
   175          "parameters": [
   176            {
   177              "name": "id",
   178              "description": "Id represents the message identifier.",
   179              "in": "query",
   180              "required": false,
   181              "type": "string"
   182            },
   183            {
   184              "name": "num",
   185              "in": "query",
   186              "required": false,
   187              "type": "string",
   188              "format": "int64"
   189            },
   190            {
   191              "name": "lineNum",
   192              "in": "query",
   193              "required": false,
   194              "type": "string",
   195              "format": "int64"
   196            },
   197            {
   198              "name": "lang",
   199              "in": "query",
   200              "required": false,
   201              "type": "string"
   202            },
   203            {
   204              "name": "status.progress",
   205              "in": "query",
   206              "required": false,
   207              "type": "string",
   208              "format": "int64"
   209            },
   210            {
   211              "name": "status.note",
   212              "in": "query",
   213              "required": false,
   214              "type": "string"
   215            },
   216            {
   217              "name": "status.internalField",
   218              "in": "query",
   219              "required": false,
   220              "type": "string"
   221            },
   222            {
   223              "name": "status.previewField",
   224              "in": "query",
   225              "required": false,
   226              "type": "string"
   227            },
   228            {
   229              "name": "en",
   230              "in": "query",
   231              "required": false,
   232              "type": "string",
   233              "format": "int64"
   234            },
   235            {
   236              "name": "no.progress",
   237              "in": "query",
   238              "required": false,
   239              "type": "string",
   240              "format": "int64"
   241            },
   242            {
   243              "name": "no.note",
   244              "in": "query",
   245              "required": false,
   246              "type": "string"
   247            },
   248            {
   249              "name": "no.internalField",
   250              "in": "query",
   251              "required": false,
   252              "type": "string"
   253            },
   254            {
   255              "name": "no.previewField",
   256              "in": "query",
   257              "required": false,
   258              "type": "string"
   259            },
   260            {
   261              "name": "internalField",
   262              "in": "query",
   263              "required": false,
   264              "type": "string"
   265            },
   266            {
   267              "name": "previewField",
   268              "in": "query",
   269              "required": false,
   270              "type": "string"
   271            },
   272            {
   273              "name": "anEnum",
   274              "in": "query",
   275              "required": false,
   276              "type": "string",
   277              "enum": [
   278                "VISIBILITY_ENUM_UNSPECIFIED",
   279                "VISIBILITY_ENUM_VISIBLE",
   280                "VISIBILITY_ENUM_INTERNAL",
   281                "VISIBILITY_ENUM_PREVIEW"
   282              ],
   283              "default": "VISIBILITY_ENUM_UNSPECIFIED"
   284            }
   285          ],
   286          "tags": [
   287            "VisibilityRuleEchoService"
   288          ]
   289        }
   290      },
   291      "/v1/example/echo_internal_and_preview": {
   292        "get": {
   293          "summary": "EchoInternalAndPreview is a internal and preview API that should only be visible in the OpenAPI spec\nif `visibility_restriction_selectors` includes \"PREVIEW\" or \"INTERNAL\".",
   294          "operationId": "VisibilityRuleEchoService_EchoInternalAndPreview",
   295          "responses": {
   296            "200": {
   297              "description": "A successful response.",
   298              "schema": {
   299                "$ref": "#/definitions/examplepbVisibilityRuleSimpleMessage"
   300              }
   301            },
   302            "default": {
   303              "description": "An unexpected error response.",
   304              "schema": {
   305                "$ref": "#/definitions/rpcStatus"
   306              }
   307            }
   308          },
   309          "parameters": [
   310            {
   311              "name": "id",
   312              "description": "Id represents the message identifier.",
   313              "in": "query",
   314              "required": false,
   315              "type": "string"
   316            },
   317            {
   318              "name": "num",
   319              "in": "query",
   320              "required": false,
   321              "type": "string",
   322              "format": "int64"
   323            },
   324            {
   325              "name": "lineNum",
   326              "in": "query",
   327              "required": false,
   328              "type": "string",
   329              "format": "int64"
   330            },
   331            {
   332              "name": "lang",
   333              "in": "query",
   334              "required": false,
   335              "type": "string"
   336            },
   337            {
   338              "name": "status.progress",
   339              "in": "query",
   340              "required": false,
   341              "type": "string",
   342              "format": "int64"
   343            },
   344            {
   345              "name": "status.note",
   346              "in": "query",
   347              "required": false,
   348              "type": "string"
   349            },
   350            {
   351              "name": "status.internalField",
   352              "in": "query",
   353              "required": false,
   354              "type": "string"
   355            },
   356            {
   357              "name": "status.previewField",
   358              "in": "query",
   359              "required": false,
   360              "type": "string"
   361            },
   362            {
   363              "name": "en",
   364              "in": "query",
   365              "required": false,
   366              "type": "string",
   367              "format": "int64"
   368            },
   369            {
   370              "name": "no.progress",
   371              "in": "query",
   372              "required": false,
   373              "type": "string",
   374              "format": "int64"
   375            },
   376            {
   377              "name": "no.note",
   378              "in": "query",
   379              "required": false,
   380              "type": "string"
   381            },
   382            {
   383              "name": "no.internalField",
   384              "in": "query",
   385              "required": false,
   386              "type": "string"
   387            },
   388            {
   389              "name": "no.previewField",
   390              "in": "query",
   391              "required": false,
   392              "type": "string"
   393            },
   394            {
   395              "name": "internalField",
   396              "in": "query",
   397              "required": false,
   398              "type": "string"
   399            },
   400            {
   401              "name": "previewField",
   402              "in": "query",
   403              "required": false,
   404              "type": "string"
   405            },
   406            {
   407              "name": "anEnum",
   408              "in": "query",
   409              "required": false,
   410              "type": "string",
   411              "enum": [
   412                "VISIBILITY_ENUM_UNSPECIFIED",
   413                "VISIBILITY_ENUM_VISIBLE",
   414                "VISIBILITY_ENUM_INTERNAL",
   415                "VISIBILITY_ENUM_PREVIEW"
   416              ],
   417              "default": "VISIBILITY_ENUM_UNSPECIFIED"
   418            }
   419          ],
   420          "tags": [
   421            "VisibilityRuleEchoService"
   422          ]
   423        }
   424      },
   425      "/v1/example/internal/echo/{id}": {
   426        "post": {
   427          "summary": "Echo method receives a simple message and returns it.\nIt should not be visible in the open API output.",
   428          "operationId": "VisibilityRuleInternalEchoService_Echo",
   429          "responses": {
   430            "200": {
   431              "description": "A successful response.",
   432              "schema": {
   433                "$ref": "#/definitions/examplepbVisibilityRuleSimpleMessage"
   434              }
   435            },
   436            "default": {
   437              "description": "An unexpected error response.",
   438              "schema": {
   439                "$ref": "#/definitions/rpcStatus"
   440              }
   441            }
   442          },
   443          "parameters": [
   444            {
   445              "name": "id",
   446              "description": "Id represents the message identifier.",
   447              "in": "path",
   448              "required": true,
   449              "type": "string"
   450            },
   451            {
   452              "name": "num",
   453              "in": "query",
   454              "required": false,
   455              "type": "string",
   456              "format": "int64"
   457            },
   458            {
   459              "name": "lineNum",
   460              "in": "query",
   461              "required": false,
   462              "type": "string",
   463              "format": "int64"
   464            },
   465            {
   466              "name": "lang",
   467              "in": "query",
   468              "required": false,
   469              "type": "string"
   470            },
   471            {
   472              "name": "status.progress",
   473              "in": "query",
   474              "required": false,
   475              "type": "string",
   476              "format": "int64"
   477            },
   478            {
   479              "name": "status.note",
   480              "in": "query",
   481              "required": false,
   482              "type": "string"
   483            },
   484            {
   485              "name": "status.internalField",
   486              "in": "query",
   487              "required": false,
   488              "type": "string"
   489            },
   490            {
   491              "name": "status.previewField",
   492              "in": "query",
   493              "required": false,
   494              "type": "string"
   495            },
   496            {
   497              "name": "en",
   498              "in": "query",
   499              "required": false,
   500              "type": "string",
   501              "format": "int64"
   502            },
   503            {
   504              "name": "no.progress",
   505              "in": "query",
   506              "required": false,
   507              "type": "string",
   508              "format": "int64"
   509            },
   510            {
   511              "name": "no.note",
   512              "in": "query",
   513              "required": false,
   514              "type": "string"
   515            },
   516            {
   517              "name": "no.internalField",
   518              "in": "query",
   519              "required": false,
   520              "type": "string"
   521            },
   522            {
   523              "name": "no.previewField",
   524              "in": "query",
   525              "required": false,
   526              "type": "string"
   527            },
   528            {
   529              "name": "internalField",
   530              "in": "query",
   531              "required": false,
   532              "type": "string"
   533            },
   534            {
   535              "name": "previewField",
   536              "in": "query",
   537              "required": false,
   538              "type": "string"
   539            },
   540            {
   541              "name": "anEnum",
   542              "in": "query",
   543              "required": false,
   544              "type": "string",
   545              "enum": [
   546                "VISIBILITY_ENUM_UNSPECIFIED",
   547                "VISIBILITY_ENUM_VISIBLE",
   548                "VISIBILITY_ENUM_INTERNAL",
   549                "VISIBILITY_ENUM_PREVIEW"
   550              ],
   551              "default": "VISIBILITY_ENUM_UNSPECIFIED"
   552            }
   553          ],
   554          "tags": [
   555            "VisibilityRuleInternalEchoService"
   556          ]
   557        }
   558      }
   559    },
   560    "definitions": {
   561      "VisibilityRuleSimpleMessageVisibilityEnum": {
   562        "type": "string",
   563        "enum": [
   564          "VISIBILITY_ENUM_UNSPECIFIED",
   565          "VISIBILITY_ENUM_VISIBLE",
   566          "VISIBILITY_ENUM_INTERNAL",
   567          "VISIBILITY_ENUM_PREVIEW"
   568        ],
   569        "default": "VISIBILITY_ENUM_UNSPECIFIED"
   570      },
   571      "examplepbVisibilityRuleEmbedded": {
   572        "type": "object",
   573        "properties": {
   574          "progress": {
   575            "type": "string",
   576            "format": "int64"
   577          },
   578          "note": {
   579            "type": "string"
   580          },
   581          "internalField": {
   582            "type": "string"
   583          },
   584          "previewField": {
   585            "type": "string"
   586          }
   587        },
   588        "description": "Embedded represents a message embedded in SimpleMessage."
   589      },
   590      "examplepbVisibilityRuleSimpleMessage": {
   591        "type": "object",
   592        "properties": {
   593          "id": {
   594            "type": "string",
   595            "description": "Id represents the message identifier."
   596          },
   597          "num": {
   598            "type": "string",
   599            "format": "int64"
   600          },
   601          "lineNum": {
   602            "type": "string",
   603            "format": "int64"
   604          },
   605          "lang": {
   606            "type": "string"
   607          },
   608          "status": {
   609            "$ref": "#/definitions/examplepbVisibilityRuleEmbedded"
   610          },
   611          "en": {
   612            "type": "string",
   613            "format": "int64"
   614          },
   615          "no": {
   616            "$ref": "#/definitions/examplepbVisibilityRuleEmbedded"
   617          },
   618          "internalField": {
   619            "type": "string"
   620          },
   621          "previewField": {
   622            "type": "string"
   623          },
   624          "anEnum": {
   625            "$ref": "#/definitions/VisibilityRuleSimpleMessageVisibilityEnum"
   626          }
   627        },
   628        "description": "SimpleMessage represents a simple message sent to the Echo service."
   629      },
   630      "protobufAny": {
   631        "type": "object",
   632        "properties": {
   633          "@type": {
   634            "type": "string"
   635          }
   636        },
   637        "additionalProperties": {}
   638      },
   639      "rpcStatus": {
   640        "type": "object",
   641        "properties": {
   642          "code": {
   643            "type": "integer",
   644            "format": "int32"
   645          },
   646          "message": {
   647            "type": "string"
   648          },
   649          "details": {
   650            "type": "array",
   651            "items": {
   652              "type": "object",
   653              "$ref": "#/definitions/protobufAny"
   654            }
   655          }
   656        }
   657      }
   658    }
   659  }