github.com/snyk/vervet/v5@v5.11.1-0.20240202085829-ad4dd7fb6101/testdata/output/2021-06-01~experimental/spec.json (about)

     1  {
     2    "components": {
     3      "headers": {
     4        "DeprecationHeader": {
     5          "description": "A header containing the deprecation date of the underlying endpoint. For more information, please refer to the deprecation header RFC:\nhttps://tools.ietf.org/id/draft-dalal-deprecation-header-01.html\n",
     6          "example": "2021-07-01T00:00:00Z",
     7          "schema": {
     8            "format": "date-time",
     9            "type": "string"
    10          }
    11        },
    12        "RequestIdResponseHeader": {
    13          "description": "A header containing a unique id used for tracking this request. If you are reporting an issue to Snyk it's very helpful to provide this ID.\n",
    14          "example": "4b58e274-ec62-4fab-917b-1d2c48d6bdef",
    15          "schema": {
    16            "format": "uuid",
    17            "type": "string"
    18          }
    19        },
    20        "SunsetHeader": {
    21          "description": "A header containing the date of when the underlying endpoint will be removed. This header is only present if the endpoint has been deprecated. Please refer to the RFC for more information:\nhttps://datatracker.ietf.org/doc/html/rfc8594\n",
    22          "example": "2021-08-02T00:00:00Z",
    23          "schema": {
    24            "format": "date-time",
    25            "type": "string"
    26          }
    27        },
    28        "VersionRequestedResponseHeader": {
    29          "description": "A header containing the version of the endpoint requested by the caller.",
    30          "example": "2021-06-04",
    31          "schema": {
    32            "$ref": "#/components/schemas/QueryVersion"
    33          }
    34        },
    35        "VersionServedResponseHeader": {
    36          "description": "A header containing the version of the endpoint that was served by the API.",
    37          "example": "2021-06-04",
    38          "schema": {
    39            "$ref": "#/components/schemas/ActualVersion"
    40          }
    41        },
    42        "VersionStageResponseHeader": {
    43          "description": "A header containing the version stage of the endpoint. This stage describes the guarantees snyk provides surrounding stability of the endpoint.\n",
    44          "schema": {
    45            "enum": [
    46              "wip",
    47              "experimental",
    48              "beta",
    49              "ga",
    50              "deprecated",
    51              "sunset"
    52            ],
    53            "example": "ga",
    54            "type": "string"
    55          }
    56        }
    57      },
    58      "parameters": {
    59        "Pagination": {
    60          "description": "The parameters used to paginate through a list of results from the API.",
    61          "in": "query",
    62          "name": "page",
    63          "schema": {
    64            "additionalProperties": false,
    65            "properties": {
    66              "after": {
    67                "type": "string"
    68              },
    69              "before": {
    70                "type": "string"
    71              },
    72              "size": {
    73                "format": "int32",
    74                "type": "integer"
    75              }
    76            },
    77            "type": "object"
    78          }
    79        },
    80        "Version": {
    81          "description": "The requested version of the endpoint to process the request",
    82          "example": "2021-06-04",
    83          "in": "query",
    84          "name": "version",
    85          "required": true,
    86          "schema": {
    87            "$ref": "#/components/schemas/QueryVersion"
    88          }
    89        }
    90      },
    91      "responses": {
    92        "400": {
    93          "content": {
    94            "application/vnd.api+json": {
    95              "schema": {
    96                "$ref": "#/components/schemas/ErrorDocument"
    97              }
    98            }
    99          },
   100          "description": "Bad Request: A parameter provided as a part of the request was invalid.",
   101          "headers": {
   102            "deprecation": {
   103              "$ref": "#/components/headers/DeprecationHeader"
   104            },
   105            "snyk-request-id": {
   106              "$ref": "#/components/headers/RequestIdResponseHeader"
   107            },
   108            "snyk-version-lifecycle-stage": {
   109              "$ref": "#/components/headers/VersionStageResponseHeader"
   110            },
   111            "snyk-version-requested": {
   112              "$ref": "#/components/headers/VersionRequestedResponseHeader"
   113            },
   114            "snyk-version-served": {
   115              "$ref": "#/components/headers/VersionServedResponseHeader"
   116            },
   117            "sunset": {
   118              "$ref": "#/components/headers/SunsetHeader"
   119            }
   120          }
   121        },
   122        "401": {
   123          "content": {
   124            "application/vnd.api+json": {
   125              "schema": {
   126                "$ref": "#/components/schemas/ErrorDocument"
   127              }
   128            }
   129          },
   130          "description": "Unauthorized: the request requires an authentication token or a token with more permissions.",
   131          "headers": {
   132            "deprecation": {
   133              "$ref": "#/components/headers/DeprecationHeader"
   134            },
   135            "snyk-request-id": {
   136              "$ref": "#/components/headers/RequestIdResponseHeader"
   137            },
   138            "snyk-version-lifecycle-stage": {
   139              "$ref": "#/components/headers/VersionStageResponseHeader"
   140            },
   141            "snyk-version-requested": {
   142              "$ref": "#/components/headers/VersionRequestedResponseHeader"
   143            },
   144            "snyk-version-served": {
   145              "$ref": "#/components/headers/VersionServedResponseHeader"
   146            },
   147            "sunset": {
   148              "$ref": "#/components/headers/SunsetHeader"
   149            }
   150          }
   151        },
   152        "404": {
   153          "content": {
   154            "application/vnd.api+json": {
   155              "schema": {
   156                "$ref": "#/components/schemas/ErrorDocument"
   157              }
   158            }
   159          },
   160          "description": "Not Found: The resource being operated on could not be found.",
   161          "headers": {
   162            "deprecation": {
   163              "$ref": "#/components/headers/DeprecationHeader"
   164            },
   165            "snyk-request-id": {
   166              "$ref": "#/components/headers/RequestIdResponseHeader"
   167            },
   168            "snyk-version-lifecycle-stage": {
   169              "$ref": "#/components/headers/VersionStageResponseHeader"
   170            },
   171            "snyk-version-requested": {
   172              "$ref": "#/components/headers/VersionRequestedResponseHeader"
   173            },
   174            "snyk-version-served": {
   175              "$ref": "#/components/headers/VersionServedResponseHeader"
   176            },
   177            "sunset": {
   178              "$ref": "#/components/headers/SunsetHeader"
   179            }
   180          }
   181        },
   182        "500": {
   183          "content": {
   184            "application/vnd.api+json": {
   185              "schema": {
   186                "$ref": "#/components/schemas/ErrorDocument"
   187              }
   188            }
   189          },
   190          "description": "Internal Server Error: An error was encountered while attempting to process the request.",
   191          "headers": {
   192            "deprecation": {
   193              "$ref": "#/components/headers/DeprecationHeader"
   194            },
   195            "snyk-request-id": {
   196              "$ref": "#/components/headers/RequestIdResponseHeader"
   197            },
   198            "snyk-version-lifecycle-stage": {
   199              "$ref": "#/components/headers/VersionStageResponseHeader"
   200            },
   201            "snyk-version-requested": {
   202              "$ref": "#/components/headers/VersionRequestedResponseHeader"
   203            },
   204            "snyk-version-served": {
   205              "$ref": "#/components/headers/VersionServedResponseHeader"
   206            },
   207            "sunset": {
   208              "$ref": "#/components/headers/SunsetHeader"
   209            }
   210          }
   211        }
   212      },
   213      "schemas": {
   214        "ActualVersion": {
   215          "description": "Resolved API version",
   216          "pattern": "^((([0-9]{4})-([0-1][0-9]))-((3[01])|(0[1-9])|([12][0-9]))(~(wip|work-in-progress|experimental|beta))?)$",
   217          "type": "string"
   218        },
   219        "Error": {
   220          "additionalProperties": false,
   221          "example": {
   222            "detail": "Not Found",
   223            "status": "404"
   224          },
   225          "properties": {
   226            "detail": {
   227              "description": "A human-readable explanation specific to this occurrence of the problem.",
   228              "example": "The request was missing these required fields: ...",
   229              "type": "string"
   230            },
   231            "id": {
   232              "description": "A unique identifier for this particular occurrence of the problem.",
   233              "example": "f16c31b5-6129-4571-add8-d589da9be524",
   234              "format": "uuid",
   235              "type": "string"
   236            },
   237            "meta": {
   238              "additionalProperties": true,
   239              "example": {
   240                "key": "value"
   241              },
   242              "type": "object"
   243            },
   244            "source": {
   245              "additionalProperties": false,
   246              "example": {
   247                "pointer": "/data/attributes"
   248              },
   249              "properties": {
   250                "parameter": {
   251                  "description": "A string indicating which URI query parameter caused the error.",
   252                  "example": "param1",
   253                  "type": "string"
   254                },
   255                "pointer": {
   256                  "description": "A JSON Pointer [RFC6901] to the associated entity in the request document.",
   257                  "example": "/data/attributes",
   258                  "type": "string"
   259                }
   260              },
   261              "type": "object"
   262            },
   263            "status": {
   264              "description": "The HTTP status code applicable to this problem, expressed as a string value.",
   265              "example": "400",
   266              "pattern": "^[45]\\d\\d$",
   267              "type": "string"
   268            }
   269          },
   270          "required": [
   271            "status",
   272            "detail"
   273          ],
   274          "type": "object"
   275        },
   276        "ErrorDocument": {
   277          "additionalProperties": false,
   278          "example": {
   279            "errors": [
   280              {
   281                "detail": "Permission denied for this resource",
   282                "status": "403"
   283              }
   284            ],
   285            "jsonapi": {
   286              "version": "1.0"
   287            }
   288          },
   289          "properties": {
   290            "errors": {
   291              "example": [
   292                {
   293                  "detail": "Permission denied for this resource",
   294                  "status": "403"
   295                }
   296              ],
   297              "items": {
   298                "$ref": "#/components/schemas/Error"
   299              },
   300              "minItems": 1,
   301              "type": "array"
   302            },
   303            "jsonapi": {
   304              "$ref": "#/components/schemas/JsonApi"
   305            }
   306          },
   307          "required": [
   308            "jsonapi",
   309            "errors"
   310          ],
   311          "type": "object"
   312        },
   313        "HelloWorld": {
   314          "additionalProperties": false,
   315          "properties": {
   316            "attributes": {
   317              "additionalProperties": false,
   318              "properties": {
   319                "message": {
   320                  "type": "string"
   321                },
   322                "requestSubject": {
   323                  "additionalProperties": false,
   324                  "properties": {
   325                    "clientId": {
   326                      "format": "uuid",
   327                      "type": "string"
   328                    },
   329                    "publicId": {
   330                      "format": "uuid",
   331                      "type": "string"
   332                    },
   333                    "type": {
   334                      "type": "string"
   335                    }
   336                  },
   337                  "required": [
   338                    "publicId",
   339                    "type"
   340                  ],
   341                  "type": "object"
   342                }
   343              },
   344              "required": [
   345                "message",
   346                "requestSubject"
   347              ],
   348              "type": "object"
   349            },
   350            "id": {
   351              "format": "uuid",
   352              "type": "string"
   353            },
   354            "type": {
   355              "type": "string"
   356            }
   357          },
   358          "required": [
   359            "type",
   360            "id",
   361            "attributes"
   362          ],
   363          "type": "object"
   364        },
   365        "JsonApi": {
   366          "additionalProperties": false,
   367          "example": {
   368            "version": "1.0"
   369          },
   370          "properties": {
   371            "version": {
   372              "description": "Version of the JSON API specification this server supports.",
   373              "example": "1.0",
   374              "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$",
   375              "type": "string"
   376            }
   377          },
   378          "required": [
   379            "version"
   380          ],
   381          "type": "object"
   382        },
   383        "LinkProperty": {
   384          "example": "https://example.com/api/resource",
   385          "oneOf": [
   386            {
   387              "description": "A string containing the link’s URL.",
   388              "example": "https://example.com/api/resource",
   389              "type": "string"
   390            },
   391            {
   392              "additionalProperties": false,
   393              "example": {
   394                "href": "https://example.com/api/resource"
   395              },
   396              "properties": {
   397                "href": {
   398                  "description": "A string containing the link’s URL.",
   399                  "example": "https://example.com/api/resource",
   400                  "type": "string"
   401                },
   402                "meta": {
   403                  "$ref": "#/components/schemas/Meta"
   404                }
   405              },
   406              "required": [
   407                "href"
   408              ],
   409              "type": "object"
   410            }
   411          ]
   412        },
   413        "Links": {
   414          "additionalProperties": false,
   415          "properties": {
   416            "first": {
   417              "$ref": "#/components/schemas/LinkProperty"
   418            },
   419            "last": {
   420              "$ref": "#/components/schemas/LinkProperty"
   421            },
   422            "next": {
   423              "$ref": "#/components/schemas/LinkProperty"
   424            },
   425            "prev": {
   426              "$ref": "#/components/schemas/LinkProperty"
   427            },
   428            "related": {
   429              "$ref": "#/components/schemas/LinkProperty"
   430            },
   431            "self": {
   432              "$ref": "#/components/schemas/LinkProperty"
   433            }
   434          },
   435          "type": "object"
   436        },
   437        "Meta": {
   438          "additionalProperties": true,
   439          "description": "Free-form object that may contain non-standard information.",
   440          "example": {
   441            "key1": "value1",
   442            "key2": {
   443              "sub_key": "sub_value"
   444            },
   445            "key3": [
   446              "array_value1",
   447              "array_value2"
   448            ]
   449          },
   450          "type": "object"
   451        },
   452        "QueryVersion": {
   453          "description": "Requested API version",
   454          "pattern": "^(wip|work-in-progress|experimental|beta|((([0-9]{4})-([0-1][0-9]))-((3[01])|(0[1-9])|([12][0-9]))(~(wip|work-in-progress|experimental|beta))?))$",
   455          "type": "string"
   456        }
   457      }
   458    },
   459    "info": {
   460      "title": "Registry",
   461      "version": "3.0.0"
   462    },
   463    "openapi": "3.0.3",
   464    "paths": {
   465      "/examples/hello-world/{id}": {
   466        "get": {
   467          "description": "Get a single result from the hello-world example",
   468          "operationId": "helloWorldGetOne",
   469          "parameters": [
   470            {
   471              "$ref": "#/components/parameters/Version"
   472            },
   473            {
   474              "$ref": "#/components/parameters/Pagination"
   475            },
   476            {
   477              "description": "The id of the hello-world example entity to be retrieved.",
   478              "in": "path",
   479              "name": "id",
   480              "required": true,
   481              "schema": {
   482                "type": "string"
   483              }
   484            }
   485          ],
   486          "responses": {
   487            "200": {
   488              "content": {
   489                "application/vnd.api+json": {
   490                  "schema": {
   491                    "additionalProperties": false,
   492                    "properties": {
   493                      "data": {
   494                        "$ref": "#/components/schemas/HelloWorld"
   495                      },
   496                      "jsonapi": {
   497                        "$ref": "#/components/schemas/JsonApi"
   498                      },
   499                      "links": {
   500                        "$ref": "#/components/schemas/Links"
   501                      }
   502                    },
   503                    "required": [
   504                      "jsonapi",
   505                      "data",
   506                      "links"
   507                    ],
   508                    "type": "object"
   509                  }
   510                }
   511              },
   512              "description": "A hello world entity being requested is returned",
   513              "headers": {
   514                "snyk-request-id": {
   515                  "$ref": "#/components/headers/RequestIdResponseHeader"
   516                },
   517                "snyk-version-requested": {
   518                  "$ref": "#/components/headers/VersionRequestedResponseHeader"
   519                },
   520                "snyk-version-served": {
   521                  "$ref": "#/components/headers/VersionServedResponseHeader"
   522                }
   523              }
   524            },
   525            "400": {
   526              "$ref": "#/components/responses/400"
   527            },
   528            "401": {
   529              "$ref": "#/components/responses/401"
   530            },
   531            "404": {
   532              "$ref": "#/components/responses/404"
   533            },
   534            "500": {
   535              "$ref": "#/components/responses/500"
   536            }
   537          },
   538          "x-snyk-api-releases": [
   539            "2021-06-01~experimental",
   540            "2021-06-07~experimental",
   541            "2021-06-13~beta"
   542          ],
   543          "x-snyk-api-version": "2021-06-01~experimental",
   544          "x-snyk-deprecated-by": "2021-06-07~experimental",
   545          "x-snyk-sunset-eligible": "2021-06-08"
   546        },
   547        "x-snyk-api-resource": "hello-world"
   548      },
   549      "/openapi": {
   550        "get": {
   551          "description": "List available versions of OpenAPI specification",
   552          "operationId": "listAPIVersions",
   553          "responses": {
   554            "200": {
   555              "content": {
   556                "application/vnd.api+json": {
   557                  "schema": {
   558                    "items": {
   559                      "type": "string"
   560                    },
   561                    "type": "array"
   562                  }
   563                }
   564              },
   565              "description": "List of available versions is returned",
   566              "headers": {
   567                "snyk-request-id": {
   568                  "$ref": "#/components/headers/RequestIdResponseHeader"
   569                },
   570                "snyk-version-requested": {
   571                  "$ref": "#/components/headers/VersionRequestedResponseHeader"
   572                },
   573                "snyk-version-served": {
   574                  "$ref": "#/components/headers/VersionServedResponseHeader"
   575                }
   576              }
   577            },
   578            "400": {
   579              "$ref": "#/components/responses/400"
   580            },
   581            "401": {
   582              "$ref": "#/components/responses/401"
   583            },
   584            "404": {
   585              "$ref": "#/components/responses/404"
   586            },
   587            "500": {
   588              "$ref": "#/components/responses/500"
   589            }
   590          }
   591        }
   592      },
   593      "/openapi/{version}": {
   594        "get": {
   595          "description": "Get OpenAPI specification effective at version.",
   596          "operationId": "getAPIVersion",
   597          "parameters": [
   598            {
   599              "description": "The requested version of the API",
   600              "in": "path",
   601              "name": "version",
   602              "required": true,
   603              "schema": {
   604                "type": "string"
   605              }
   606            }
   607          ],
   608          "responses": {
   609            "200": {
   610              "content": {
   611                "application/vnd.api+json": {
   612                  "schema": {
   613                    "type": "object"
   614                  }
   615                },
   616                "application/x-yaml": {
   617                  "schema": {
   618                    "type": "object"
   619                  }
   620                }
   621              },
   622              "description": "OpenAPI specification matching requested version is returned",
   623              "headers": {
   624                "snyk-request-id": {
   625                  "$ref": "#/components/headers/RequestIdResponseHeader"
   626                },
   627                "snyk-version-requested": {
   628                  "$ref": "#/components/headers/VersionRequestedResponseHeader"
   629                },
   630                "snyk-version-served": {
   631                  "$ref": "#/components/headers/VersionServedResponseHeader"
   632                }
   633              }
   634            },
   635            "400": {
   636              "$ref": "#/components/responses/400"
   637            },
   638            "401": {
   639              "$ref": "#/components/responses/401"
   640            },
   641            "404": {
   642              "$ref": "#/components/responses/404"
   643            },
   644            "500": {
   645              "$ref": "#/components/responses/500"
   646            }
   647          }
   648        }
   649      }
   650    },
   651    "servers": [
   652      {
   653        "description": "Test REST API",
   654        "url": "https://example.com/api/rest"
   655      }
   656    ],
   657    "tags": [
   658      {
   659        "description": "Something",
   660        "name": "Something"
   661      }
   662    ],
   663    "x-snyk-api-lifecycle": "sunset",
   664    "x-snyk-api-version": "2021-06-01~experimental"
   665  }