Chilkat Online Tools

SQL Server / Postman API / Schema Security Validation

Back to Collection Items

-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls.
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
    DECLARE @hr int
    DECLARE @iTmp0 int
    -- Important: Do not use nvarchar(max).  See the warning about using nvarchar(max).
    DECLARE @sTmp0 nvarchar(4000)
    -- This example assumes the Chilkat API to have been previously unlocked.
    -- See Global Unlock Sample for sample code.

    DECLARE @http int
    EXEC @hr = sp_OACreate 'Chilkat_9_5_0.Http', @http OUT
    IF @hr <> 0
    BEGIN
        PRINT 'Failed to create ActiveX component'
        RETURN
    END

    DECLARE @success int

    -- Use this online tool to generate code from sample JSON: Generate Code to Create JSON

    -- The following JSON is sent in the request body.

    -- {
    --   "schema": {
    --     "type": "openapi3",
    --     "language": "json",
    --     "schema": "{\"openapi\":\"3.0.0\",\"info\":{\"version\":\"1\",\"title\":\"temp\",\"license\":{\"name\":\"MIT\"}},\"servers\":[{\"url\":\"https://petstore.swagger.io/v1\"}],\"paths\":{\"/user\":{\"get\":{\"summary\":\"Details about a user\",\"operationId\":\"listUser\",\"tags\":[\"user\"],\"parameters\":[{\"name\":\"id\",\"in\":\"query\",\"description\":\"ID of the user\",\"required\":true,\"schema\":{\"type\":\"integer\",\"format\":\"int32\"}}],\"responses\":{\"200\":{\"description\":\"Details about a user\",\"headers\":{\"x-next\":{\"description\":\"A link to the next page of responses\",\"schema\":{\"type\":\"string\"}}},\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/User\"}}}},\"default\":{\"description\":\"unexpected error\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Error\"}}}}}}}},\"components\":{\"schemas\":{\"User\":{\"type\":\"object\",\"required\":[\"id\",\"name\"],\"properties\":{\"id\":{\"type\":\"integer\",\"format\":\"int64\"},\"name\":{\"type\":\"string\"},\"tag\":{\"type\":\"string\"}}},\"Error\":{\"type\":\"object\",\"required\":[\"code\",\"message\"],\"properties\":{\"code\":{\"type\":\"integer\",\"format\":\"int32\"},\"message\":{\"type\":\"string\"}}}},\"securitySchemes\":{\"BasicAuth\":{\"type\":\"http\",\"scheme\":\"basic\"}}},\"security\":[{\"BasicAuth\":[]}]}"
    --   }
    -- }

    DECLARE @json int
    EXEC @hr = sp_OACreate 'Chilkat_9_5_0.JsonObject', @json OUT

    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'schema.type', 'openapi3'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'schema.language', 'json'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'schema.schema', '{"openapi":"3.0.0","info":{"version":"1","title":"temp","license":{"name":"MIT"}},"servers":[{"url":"https://petstore.swagger.io/v1"}],"paths":{"/user":{"get":{"summary":"Details about a user","operationId":"listUser","tags":["user"],"parameters":[{"name":"id","in":"query","description":"ID of the user","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Details about a user","headers":{"x-next":{"description":"A link to the next page of responses","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"default":{"description":"unexpected error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"schemas":{"User":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"tag":{"type":"string"}}},"Error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"}}}},"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic"}}},"security":[{"BasicAuth":[]}]}'

    EXEC sp_OAMethod @http, 'SetRequestHeader', NULL, 'Content-Type', 'application/json'
    EXEC sp_OAMethod @http, 'SetRequestHeader', NULL, 'X-API-Key', '{{postman_api_key}}'

    DECLARE @resp int
    EXEC sp_OAMethod @http, 'PostJson3', @resp OUT, 'https://api.getpostman.com/security/api-validation', 'application/json', @json
    EXEC sp_OAGetProperty @http, 'LastMethodSuccess', @iTmp0 OUT
    IF @iTmp0 = 0
      BEGIN
        EXEC sp_OAGetProperty @http, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
        EXEC @hr = sp_OADestroy @http
        EXEC @hr = sp_OADestroy @json
        RETURN
      END

    DECLARE @sbResponseBody int
    EXEC @hr = sp_OACreate 'Chilkat_9_5_0.StringBuilder', @sbResponseBody OUT

    EXEC sp_OAMethod @resp, 'GetBodySb', @success OUT, @sbResponseBody

    DECLARE @jResp int
    EXEC @hr = sp_OACreate 'Chilkat_9_5_0.JsonObject', @jResp OUT

    EXEC sp_OAMethod @jResp, 'LoadSb', @success OUT, @sbResponseBody
    EXEC sp_OASetProperty @jResp, 'EmitCompact', 0


    PRINT 'Response Body:'
    EXEC sp_OAMethod @jResp, 'Emit', @sTmp0 OUT
    PRINT @sTmp0

    DECLARE @respStatusCode int
    EXEC sp_OAGetProperty @resp, 'StatusCode', @respStatusCode OUT

    PRINT 'Response Status Code = ' + @respStatusCode
    IF @respStatusCode >= 400
      BEGIN

        PRINT 'Response Header:'
        EXEC sp_OAGetProperty @resp, 'Header', @sTmp0 OUT
        PRINT @sTmp0

        PRINT 'Failed.'
        EXEC @hr = sp_OADestroy @resp

        EXEC @hr = sp_OADestroy @http
        EXEC @hr = sp_OADestroy @json
        EXEC @hr = sp_OADestroy @sbResponseBody
        EXEC @hr = sp_OADestroy @jResp
        RETURN
      END
    EXEC @hr = sp_OADestroy @resp

    -- Sample JSON response:
    -- (Sample code for parsing the JSON response is shown below)

    -- {
    --   "warnings": [
    --     {
    --       "severity": "MEDIUM",
    --       "message": "HTTP authentication scheme is using an unknown scheme.",
    --       "location": {
    --         "start": {
    --           "line": 1,
    --           "column": 1116
    --         },
    --         "end": {
    --           "line": 1,
    --           "column": 1118
    --         }
    --       },
    --       "dataPath": [
    --         "components",
    --         "securitySchemes",
    --         "BasicAuth",
    --         "scheme"
    --       ],
    --       "possibleFixUrl": "https://go.pstmn.io/security-warnings#http-authentication-scheme-is-using-an-unknown-scheme"
    --     }
    --   ]
    -- }

    -- Sample code for parsing the JSON response...
    -- Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code

    DECLARE @severity nvarchar(4000)

    DECLARE @message nvarchar(4000)

    DECLARE @Line int

    DECLARE @Column int

    DECLARE @EndLine int

    DECLARE @EndColumn int

    DECLARE @possibleFixUrl nvarchar(4000)

    DECLARE @j int

    DECLARE @count_j int

    DECLARE @strVal nvarchar(4000)

    DECLARE @i int
    SELECT @i = 0
    DECLARE @count_i int
    EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_i OUT, 'warnings'
    WHILE @i < @count_i
      BEGIN
        EXEC sp_OASetProperty @jResp, 'I', @i
        EXEC sp_OAMethod @jResp, 'StringOf', @severity OUT, 'warnings[i].severity'
        EXEC sp_OAMethod @jResp, 'StringOf', @message OUT, 'warnings[i].message'
        EXEC sp_OAMethod @jResp, 'IntOf', @Line OUT, 'warnings[i].location.start.line'
        EXEC sp_OAMethod @jResp, 'IntOf', @Column OUT, 'warnings[i].location.start.column'
        EXEC sp_OAMethod @jResp, 'IntOf', @EndLine OUT, 'warnings[i].location.end.line'
        EXEC sp_OAMethod @jResp, 'IntOf', @EndColumn OUT, 'warnings[i].location.end.column'
        EXEC sp_OAMethod @jResp, 'StringOf', @possibleFixUrl OUT, 'warnings[i].possibleFixUrl'
        SELECT @j = 0
        EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_j OUT, 'warnings[i].dataPath'
        WHILE @j < @count_j
          BEGIN
            EXEC sp_OASetProperty @jResp, 'J', @j
            EXEC sp_OAMethod @jResp, 'StringOf', @strVal OUT, 'warnings[i].dataPath[j]'
            SELECT @j = @j + 1
          END
        SELECT @i = @i + 1
      END

    EXEC @hr = sp_OADestroy @http
    EXEC @hr = sp_OADestroy @json
    EXEC @hr = sp_OADestroy @sbResponseBody
    EXEC @hr = sp_OADestroy @jResp


END
GO

Curl Command

curl -X POST
	-H "X-API-Key: {{postman_api_key}}"
	-H "Content-Type: application/json"
	-d '{
    "schema": {
        "type": "openapi3",
        "language": "json",
        "schema": "{\"openapi\":\"3.0.0\",\"info\":{\"version\":\"1\",\"title\":\"temp\",\"license\":{\"name\":\"MIT\"}},\"servers\":[{\"url\":\"https://petstore.swagger.io/v1\"}],\"paths\":{\"/user\":{\"get\":{\"summary\":\"Details about a user\",\"operationId\":\"listUser\",\"tags\":[\"user\"],\"parameters\":[{\"name\":\"id\",\"in\":\"query\",\"description\":\"ID of the user\",\"required\":true,\"schema\":{\"type\":\"integer\",\"format\":\"int32\"}}],\"responses\":{\"200\":{\"description\":\"Details about a user\",\"headers\":{\"x-next\":{\"description\":\"A link to the next page of responses\",\"schema\":{\"type\":\"string\"}}},\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/User\"}}}},\"default\":{\"description\":\"unexpected error\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Error\"}}}}}}}},\"components\":{\"schemas\":{\"User\":{\"type\":\"object\",\"required\":[\"id\",\"name\"],\"properties\":{\"id\":{\"type\":\"integer\",\"format\":\"int64\"},\"name\":{\"type\":\"string\"},\"tag\":{\"type\":\"string\"}}},\"Error\":{\"type\":\"object\",\"required\":[\"code\",\"message\"],\"properties\":{\"code\":{\"type\":\"integer\",\"format\":\"int32\"},\"message\":{\"type\":\"string\"}}}},\"securitySchemes\":{\"BasicAuth\":{\"type\":\"http\",\"scheme\":\"basic\"}}},\"security\":[{\"BasicAuth\":[]}]}"
    }
}'
https://api.getpostman.com/security/api-validation

Postman Collection Item JSON

{
  "name": "Schema Security Validation",
  "request": {
    "method": "POST",
    "header": [
      {
        "key": "Content-Type",
        "value": "application/json"
      }
    ],
    "body": {
      "mode": "raw",
      "raw": "{\n    \"schema\": {\n        \"type\": \"openapi3\",\n        \"language\": \"json\",\n        \"schema\": \"{\\\"openapi\\\":\\\"3.0.0\\\",\\\"info\\\":{\\\"version\\\":\\\"1\\\",\\\"title\\\":\\\"temp\\\",\\\"license\\\":{\\\"name\\\":\\\"MIT\\\"}},\\\"servers\\\":[{\\\"url\\\":\\\"https://petstore.swagger.io/v1\\\"}],\\\"paths\\\":{\\\"/user\\\":{\\\"get\\\":{\\\"summary\\\":\\\"Details about a user\\\",\\\"operationId\\\":\\\"listUser\\\",\\\"tags\\\":[\\\"user\\\"],\\\"parameters\\\":[{\\\"name\\\":\\\"id\\\",\\\"in\\\":\\\"query\\\",\\\"description\\\":\\\"ID of the user\\\",\\\"required\\\":true,\\\"schema\\\":{\\\"type\\\":\\\"integer\\\",\\\"format\\\":\\\"int32\\\"}}],\\\"responses\\\":{\\\"200\\\":{\\\"description\\\":\\\"Details about a user\\\",\\\"headers\\\":{\\\"x-next\\\":{\\\"description\\\":\\\"A link to the next page of responses\\\",\\\"schema\\\":{\\\"type\\\":\\\"string\\\"}}},\\\"content\\\":{\\\"application/json\\\":{\\\"schema\\\":{\\\"$ref\\\":\\\"#/components/schemas/User\\\"}}}},\\\"default\\\":{\\\"description\\\":\\\"unexpected error\\\",\\\"content\\\":{\\\"application/json\\\":{\\\"schema\\\":{\\\"$ref\\\":\\\"#/components/schemas/Error\\\"}}}}}}}},\\\"components\\\":{\\\"schemas\\\":{\\\"User\\\":{\\\"type\\\":\\\"object\\\",\\\"required\\\":[\\\"id\\\",\\\"name\\\"],\\\"properties\\\":{\\\"id\\\":{\\\"type\\\":\\\"integer\\\",\\\"format\\\":\\\"int64\\\"},\\\"name\\\":{\\\"type\\\":\\\"string\\\"},\\\"tag\\\":{\\\"type\\\":\\\"string\\\"}}},\\\"Error\\\":{\\\"type\\\":\\\"object\\\",\\\"required\\\":[\\\"code\\\",\\\"message\\\"],\\\"properties\\\":{\\\"code\\\":{\\\"type\\\":\\\"integer\\\",\\\"format\\\":\\\"int32\\\"},\\\"message\\\":{\\\"type\\\":\\\"string\\\"}}}},\\\"securitySchemes\\\":{\\\"BasicAuth\\\":{\\\"type\\\":\\\"http\\\",\\\"scheme\\\":\\\"basic\\\"}}},\\\"security\\\":[{\\\"BasicAuth\\\":[]}]}\"\n    }\n}"
    },
    "url": {
      "raw": "https://api.getpostman.com/security/api-validation",
      "protocol": "https",
      "host": [
        "api",
        "getpostman",
        "com"
      ],
      "path": [
        "security",
        "api-validation"
      ]
    },
    "description": "This endpoint will perform **static analysis** on the **Schema specification**. It will return the security misses in your schema definition and help you understand their implications and possible ways to patch the warnings. You can introduce this endpoint to your CI/CD process to automate your schema validation.\n\n**Request Body**(max size 10MB)</br>\n\n| Key | Value Type | Required | Description |\n| ---- |----| --- | ---- |\n| type | Enum(openapi3, openapi2) | Yes | Type of Schema Specification |\n| language | Enum(json, yaml) | Yes | Format of Schema Specification |\n| schema | String | Yes | Stringified Schema Body|\n\nVisit [Learning Center](https://learning.postman-beta.com/docs/api-security/security-warnings/security-warnings-overview) for more information"
  },
  "response": [
    {
      "name": "Successful Response with Warnings",
      "originalRequest": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "name": "Content-Type",
            "value": "application/json",
            "type": "text"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n    \"schema\": {\n        \"type\": \"openapi3\",\n        \"language\": \"json\",\n        \"schema\": \"{\\\"openapi\\\":\\\"3.0.0\\\",\\\"info\\\":{\\\"version\\\":\\\"1\\\",\\\"title\\\":\\\"temp\\\",\\\"license\\\":{\\\"name\\\":\\\"MIT\\\"}},\\\"servers\\\":[{\\\"url\\\":\\\"https://petstore.swagger.io/v1\\\"}],\\\"paths\\\":{\\\"/user\\\":{\\\"get\\\":{\\\"summary\\\":\\\"Details about a user\\\",\\\"operationId\\\":\\\"listUser\\\",\\\"tags\\\":[\\\"user\\\"],\\\"parameters\\\":[{\\\"name\\\":\\\"id\\\",\\\"in\\\":\\\"query\\\",\\\"description\\\":\\\"ID of the user\\\",\\\"required\\\":true,\\\"schema\\\":{\\\"type\\\":\\\"integer\\\",\\\"format\\\":\\\"int32\\\"}}],\\\"responses\\\":{\\\"200\\\":{\\\"description\\\":\\\"Details about a user\\\",\\\"headers\\\":{\\\"x-next\\\":{\\\"description\\\":\\\"A link to the next page of responses\\\",\\\"schema\\\":{\\\"type\\\":\\\"string\\\"}}},\\\"content\\\":{\\\"application/json\\\":{\\\"schema\\\":{\\\"$ref\\\":\\\"#/components/schemas/User\\\"}}}},\\\"default\\\":{\\\"description\\\":\\\"unexpected error\\\",\\\"content\\\":{\\\"application/json\\\":{\\\"schema\\\":{\\\"$ref\\\":\\\"#/components/schemas/Error\\\"}}}}}}}},\\\"components\\\":{\\\"schemas\\\":{\\\"User\\\":{\\\"type\\\":\\\"object\\\",\\\"required\\\":[\\\"id\\\",\\\"name\\\"],\\\"properties\\\":{\\\"id\\\":{\\\"type\\\":\\\"integer\\\",\\\"format\\\":\\\"int64\\\"},\\\"name\\\":{\\\"type\\\":\\\"string\\\"},\\\"tag\\\":{\\\"type\\\":\\\"string\\\"}}},\\\"Error\\\":{\\\"type\\\":\\\"object\\\",\\\"required\\\":[\\\"code\\\",\\\"message\\\"],\\\"properties\\\":{\\\"code\\\":{\\\"type\\\":\\\"integer\\\",\\\"format\\\":\\\"int32\\\"},\\\"message\\\":{\\\"type\\\":\\\"string\\\"}}}},\\\"securitySchemes\\\":{\\\"BasicAuth\\\":{\\\"type\\\":\\\"http\\\",\\\"scheme\\\":\\\"\\\"}}},\\\"security\\\":[{\\\"BasicAuth\\\":[]}]}\"\n    }\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "https://api.getpostman.com/security/api-validation",
          "protocol": "https",
          "host": [
            "api",
            "getpostman",
            "com"
          ],
          "path": [
            "security",
            "api-validation"
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Date",
          "value": "Sun, 12 Sep 2021 09:45:42 GMT"
        },
        {
          "key": "Content-Type",
          "value": "application/json; charset=utf-8"
        },
        {
          "key": "Transfer-Encoding",
          "value": "chunked"
        },
        {
          "key": "Connection",
          "value": "keep-alive"
        },
        {
          "key": "Server",
          "value": "nginx"
        },
        {
          "key": "x-frame-options",
          "value": "SAMEORIGIN"
        },
        {
          "key": "Access-Control-Allow-Origin",
          "value": "*"
        },
        {
          "key": "x-srv-trace",
          "value": "v=1;t=df3a673f51ba400d"
        },
        {
          "key": "x-srv-span",
          "value": "v=1;s=5f5d0aa04106e973"
        },
        {
          "key": "X-RateLimit-Limit",
          "value": "60"
        },
        {
          "key": "X-RateLimit-Remaining",
          "value": "58"
        },
        {
          "key": "X-RateLimit-Reset",
          "value": "1631439948"
        },
        {
          "key": "ETag",
          "value": "W/\"164-PBgIpGM9qzmFyny6Y8Rw7l8wfv4\""
        },
        {
          "key": "Vary",
          "value": "Accept-Encoding"
        },
        {
          "key": "Content-Encoding",
          "value": "gzip"
        }
      ],
      "cookie": [
      ],
      "body": "{\n    \"warnings\": [\n        {\n            \"severity\": \"MEDIUM\",\n            \"message\": \"HTTP authentication scheme is using an unknown scheme.\",\n            \"location\": {\n                \"start\": {\n                    \"line\": 1,\n                    \"column\": 1116\n                },\n                \"end\": {\n                    \"line\": 1,\n                    \"column\": 1118\n                }\n            },\n            \"dataPath\": [\n                \"components\",\n                \"securitySchemes\",\n                \"BasicAuth\",\n                \"scheme\"\n            ],\n            \"possibleFixUrl\": \"https://go.pstmn.io/security-warnings#http-authentication-scheme-is-using-an-unknown-scheme\"\n        }\n    ]\n}"
    },
    {
      "name": "No Warnings Found",
      "originalRequest": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "name": "Content-Type",
            "value": "application/json",
            "type": "text"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n    \"schema\": {\n        \"type\": \"openapi3\",\n        \"language\": \"json\",\n        \"schema\": \"{\\\"openapi\\\":\\\"3.0.0\\\",\\\"info\\\":{\\\"version\\\":\\\"1\\\",\\\"title\\\":\\\"temp\\\",\\\"license\\\":{\\\"name\\\":\\\"MIT\\\"}},\\\"servers\\\":[{\\\"url\\\":\\\"https://petstore.swagger.io/v1\\\"}],\\\"paths\\\":{\\\"/user\\\":{\\\"get\\\":{\\\"summary\\\":\\\"Details about a user\\\",\\\"operationId\\\":\\\"listUser\\\",\\\"tags\\\":[\\\"user\\\"],\\\"parameters\\\":[{\\\"name\\\":\\\"id\\\",\\\"in\\\":\\\"query\\\",\\\"description\\\":\\\"ID of the user\\\",\\\"required\\\":true,\\\"schema\\\":{\\\"type\\\":\\\"integer\\\",\\\"format\\\":\\\"int32\\\"}}],\\\"responses\\\":{\\\"200\\\":{\\\"description\\\":\\\"Details about a user\\\",\\\"headers\\\":{\\\"x-next\\\":{\\\"description\\\":\\\"A link to the next page of responses\\\",\\\"schema\\\":{\\\"type\\\":\\\"string\\\"}}},\\\"content\\\":{\\\"application/json\\\":{\\\"schema\\\":{\\\"$ref\\\":\\\"#/components/schemas/User\\\"}}}},\\\"default\\\":{\\\"description\\\":\\\"unexpected error\\\",\\\"content\\\":{\\\"application/json\\\":{\\\"schema\\\":{\\\"$ref\\\":\\\"#/components/schemas/Error\\\"}}}}}}}},\\\"components\\\":{\\\"schemas\\\":{\\\"User\\\":{\\\"type\\\":\\\"object\\\",\\\"required\\\":[\\\"id\\\",\\\"name\\\"],\\\"properties\\\":{\\\"id\\\":{\\\"type\\\":\\\"integer\\\",\\\"format\\\":\\\"int64\\\"},\\\"name\\\":{\\\"type\\\":\\\"string\\\"},\\\"tag\\\":{\\\"type\\\":\\\"string\\\"}}},\\\"Error\\\":{\\\"type\\\":\\\"object\\\",\\\"required\\\":[\\\"code\\\",\\\"message\\\"],\\\"properties\\\":{\\\"code\\\":{\\\"type\\\":\\\"integer\\\",\\\"format\\\":\\\"int32\\\"},\\\"message\\\":{\\\"type\\\":\\\"string\\\"}}}},\\\"securitySchemes\\\":{\\\"BasicAuth\\\":{\\\"type\\\":\\\"http\\\",\\\"scheme\\\":\\\"basic\\\"}}},\\\"security\\\":[{\\\"BasicAuth\\\":[]}]}\"\n    }\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "https://api.getpostman.com/security/api-validation",
          "protocol": "https",
          "host": [
            "api",
            "getpostman",
            "com"
          ],
          "path": [
            "security",
            "api-validation"
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Date",
          "value": "Sun, 12 Sep 2021 09:44:49 GMT"
        },
        {
          "key": "Content-Type",
          "value": "application/json; charset=utf-8"
        },
        {
          "key": "Content-Length",
          "value": "15"
        },
        {
          "key": "Connection",
          "value": "keep-alive"
        },
        {
          "key": "Server",
          "value": "nginx"
        },
        {
          "key": "x-frame-options",
          "value": "SAMEORIGIN"
        },
        {
          "key": "Access-Control-Allow-Origin",
          "value": "*"
        },
        {
          "key": "x-srv-trace",
          "value": "v=1;t=ae1633478c228dbd"
        },
        {
          "key": "x-srv-span",
          "value": "v=1;s=6da9fbb5ccd53a5e"
        },
        {
          "key": "X-RateLimit-Limit",
          "value": "60"
        },
        {
          "key": "X-RateLimit-Remaining",
          "value": "59"
        },
        {
          "key": "X-RateLimit-Reset",
          "value": "1631439948"
        },
        {
          "key": "ETag",
          "value": "W/\"f-qOnA/C9SOc9LcVJFceEQk4jhluk\""
        },
        {
          "key": "Vary",
          "value": "Accept-Encoding"
        }
      ],
      "cookie": [
      ],
      "body": "{\n    \"warnings\": []\n}"
    },
    {
      "name": "Empty Schema",
      "originalRequest": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "name": "Content-Type",
            "value": "application/json",
            "type": "text"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n    \"schema\": {\n        \"type\": \"openapi3\",\n        \"language\": \"yaml\",\n        \"schema\": \"\"\n    }\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "https://api.getpostman.com/security/api-validation",
          "protocol": "https",
          "host": [
            "api",
            "getpostman",
            "com"
          ],
          "path": [
            "security",
            "api-validation"
          ]
        }
      },
      "status": "Bad Request",
      "code": 400,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Date",
          "value": "Sun, 12 Sep 2021 09:37:14 GMT"
        },
        {
          "key": "Content-Type",
          "value": "application/json; charset=utf-8"
        },
        {
          "key": "Content-Length",
          "value": "76"
        },
        {
          "key": "Connection",
          "value": "keep-alive"
        },
        {
          "key": "Server",
          "value": "nginx"
        },
        {
          "key": "x-frame-options",
          "value": "SAMEORIGIN"
        },
        {
          "key": "Access-Control-Allow-Origin",
          "value": "*"
        },
        {
          "key": "x-srv-trace",
          "value": "v=1;t=55da76a33cc1385a"
        },
        {
          "key": "x-srv-span",
          "value": "v=1;s=b480f819d1813f77"
        },
        {
          "key": "X-RateLimit-Limit",
          "value": "60"
        },
        {
          "key": "X-RateLimit-Remaining",
          "value": "59"
        },
        {
          "key": "X-RateLimit-Reset",
          "value": "1631439494"
        },
        {
          "key": "ETag",
          "value": "W/\"4c-TSELlt/qtA+fU4WkV/YJz9BXr8w\""
        },
        {
          "key": "Vary",
          "value": "Accept-Encoding"
        }
      ],
      "cookie": [
      ],
      "body": "{\n    \"error\": {\n        \"name\": \"Invalid Schema\",\n        \"message\": \"Empty input schema provided.\"\n    }\n}"
    },
    {
      "name": "Invalid Schema",
      "originalRequest": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "name": "Content-Type",
            "value": "application/json",
            "type": "text"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n    \"schemaType\": \"openapi3\",\n    \"schemaFormat\": \"json\",\n    \"schemaBody\": \"{}\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "https://api.getpostman.com/security/api-validation",
          "protocol": "https",
          "host": [
            "api",
            "getpostman",
            "com"
          ],
          "path": [
            "security",
            "api-validation"
          ]
        }
      },
      "status": "Bad Request",
      "code": 400,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Date",
          "value": "Sun, 12 Sep 2021 09:39:21 GMT"
        },
        {
          "key": "Content-Type",
          "value": "application/json; charset=utf-8"
        },
        {
          "key": "Content-Length",
          "value": "125"
        },
        {
          "key": "Connection",
          "value": "keep-alive"
        },
        {
          "key": "Server",
          "value": "nginx"
        },
        {
          "key": "x-frame-options",
          "value": "SAMEORIGIN"
        },
        {
          "key": "Access-Control-Allow-Origin",
          "value": "*"
        },
        {
          "key": "x-srv-trace",
          "value": "v=1;t=583cc629de922167"
        },
        {
          "key": "x-srv-span",
          "value": "v=1;s=510c7b003e356f45"
        },
        {
          "key": "X-RateLimit-Limit",
          "value": "60"
        },
        {
          "key": "X-RateLimit-Remaining",
          "value": "59"
        },
        {
          "key": "X-RateLimit-Reset",
          "value": "1631439621"
        },
        {
          "key": "ETag",
          "value": "W/\"7d-N5PP6H8rafi0mv9sTvRw40PwI84\""
        },
        {
          "key": "Vary",
          "value": "Accept-Encoding"
        }
      ],
      "cookie": [
      ],
      "body": "{\n    \"error\": {\n        \"name\": \"Invalid Schema\",\n        \"message\": \"Specification must contain a semantic version number of the OAS specification\"\n    }\n}"
    },
    {
      "name": "Not Supported Schema Type",
      "originalRequest": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "name": "Content-Type",
            "value": "application/json",
            "type": "text"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n    \"schema\": {\n        \"type\": \"openapi1\",\n        \"language\": \"json\",\n        \"schema\": \"{}\"\n    }\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "https://api.getpostman.com/security/api-validation",
          "protocol": "https",
          "host": [
            "api",
            "getpostman",
            "com"
          ],
          "path": [
            "security",
            "api-validation"
          ]
        }
      },
      "status": "Bad Request",
      "code": 400,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Date",
          "value": "Sun, 12 Sep 2021 09:48:20 GMT"
        },
        {
          "key": "Content-Type",
          "value": "application/json; charset=utf-8"
        },
        {
          "key": "Content-Length",
          "value": "86"
        },
        {
          "key": "Connection",
          "value": "keep-alive"
        },
        {
          "key": "Server",
          "value": "nginx"
        },
        {
          "key": "x-frame-options",
          "value": "SAMEORIGIN"
        },
        {
          "key": "Access-Control-Allow-Origin",
          "value": "*"
        },
        {
          "key": "x-srv-trace",
          "value": "v=1;t=46038119474e3066"
        },
        {
          "key": "x-srv-span",
          "value": "v=1;s=df8409a0c765902c"
        },
        {
          "key": "X-RateLimit-Limit",
          "value": "60"
        },
        {
          "key": "X-RateLimit-Remaining",
          "value": "58"
        },
        {
          "key": "X-RateLimit-Reset",
          "value": "1631440148"
        },
        {
          "key": "ETag",
          "value": "W/\"56-LEdSx+qhB9qIEg40VOkfozFCTHk\""
        },
        {
          "key": "Vary",
          "value": "Accept-Encoding"
        }
      ],
      "cookie": [
      ],
      "body": "{\n    \"error\": {\n        \"name\": \"Invalid schema\",\n        \"message\": \"Provided schema type is not supported.\"\n    }\n}"
    },
    {
      "name": "Payload Too Large",
      "originalRequest": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "name": "Content-Type",
            "value": "application/json",
            "type": "text"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n    \"schema\": {\n        \"type\": \"openapi3\",\n        \"language\": \"yaml\",\n        \"schema\": {{largePayload}}\n    }\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "https://api.getpostman.com/security/api-validation",
          "protocol": "https",
          "host": [
            "api",
            "getpostman",
            "com"
          ],
          "path": [
            "security",
            "api-validation"
          ]
        }
      },
      "status": "Bad Request",
      "code": 400,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Date",
          "value": "Sun, 12 Sep 2021 09:42:51 GMT"
        },
        {
          "key": "Content-Type",
          "value": "application/json; charset=utf-8"
        },
        {
          "key": "Content-Length",
          "value": "78"
        },
        {
          "key": "Connection",
          "value": "keep-alive"
        },
        {
          "key": "Server",
          "value": "nginx"
        },
        {
          "key": "ETag",
          "value": "W/\"4e-E4wtB3VEF/jim4+F3i6dVca260E\""
        }
      ],
      "cookie": [
      ],
      "body": "{\n    \"error\": {\n        \"name\": \"PayloadTooLargeError\",\n        \"message\": \"request entity too large\"\n    }\n}"
    }
  ]
}