Chilkat Online Tools

unicodeC / Postman API / Schema Security Validation

Back to Collection Items

#include <C_CkHttpW.h>
#include <C_CkJsonObjectW.h>
#include <C_CkHttpResponseW.h>
#include <C_CkStringBuilderW.h>

void ChilkatSample(void)
    {
    HCkHttpW http;
    BOOL success;
    HCkJsonObjectW json;
    HCkHttpResponseW resp;
    HCkStringBuilderW sbResponseBody;
    HCkJsonObjectW jResp;
    int respStatusCode;
    const wchar_t *severity;
    const wchar_t *message;
    int Line;
    int Column;
    int EndLine;
    int EndColumn;
    const wchar_t *possibleFixUrl;
    int j;
    int count_j;
    const wchar_t *strVal;
    int i;
    int count_i;

    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    http = CkHttpW_Create();

    // 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\":[]}]}"
    //   }
    // }

    json = CkJsonObjectW_Create();
    CkJsonObjectW_UpdateString(json,L"schema.type",L"openapi3");
    CkJsonObjectW_UpdateString(json,L"schema.language",L"json");
    CkJsonObjectW_UpdateString(json,L"schema.schema",L"{\"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\":[]}]}");

    CkHttpW_SetRequestHeader(http,L"Content-Type",L"application/json");
    CkHttpW_SetRequestHeader(http,L"X-API-Key",L"{{postman_api_key}}");

    resp = CkHttpW_PostJson3(http,L"https://api.getpostman.com/security/api-validation",L"application/json",json);
    if (CkHttpW_getLastMethodSuccess(http) == FALSE) {
        wprintf(L"%s\n",CkHttpW_lastErrorText(http));
        CkHttpW_Dispose(http);
        CkJsonObjectW_Dispose(json);
        return;
    }

    sbResponseBody = CkStringBuilderW_Create();
    CkHttpResponseW_GetBodySb(resp,sbResponseBody);

    jResp = CkJsonObjectW_Create();
    CkJsonObjectW_LoadSb(jResp,sbResponseBody);
    CkJsonObjectW_putEmitCompact(jResp,FALSE);

    wprintf(L"Response Body:\n");
    wprintf(L"%s\n",CkJsonObjectW_emit(jResp));

    respStatusCode = CkHttpResponseW_getStatusCode(resp);
    wprintf(L"Response Status Code = %d\n",respStatusCode);
    if (respStatusCode >= 400) {
        wprintf(L"Response Header:\n");
        wprintf(L"%s\n",CkHttpResponseW_header(resp));
        wprintf(L"Failed.\n");
        CkHttpResponseW_Dispose(resp);
        CkHttpW_Dispose(http);
        CkJsonObjectW_Dispose(json);
        CkStringBuilderW_Dispose(sbResponseBody);
        CkJsonObjectW_Dispose(jResp);
        return;
    }

    CkHttpResponseW_Dispose(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

    // Chilkat functions returning "const char *" return a pointer to temporary internal memory owned and managed by Chilkat.

    i = 0;
    count_i = CkJsonObjectW_SizeOfArray(jResp,L"warnings");
    while (i < count_i) {
        CkJsonObjectW_putI(jResp,i);
        severity = CkJsonObjectW_stringOf(jResp,L"warnings[i].severity");
        message = CkJsonObjectW_stringOf(jResp,L"warnings[i].message");
        Line = CkJsonObjectW_IntOf(jResp,L"warnings[i].location.start.line");
        Column = CkJsonObjectW_IntOf(jResp,L"warnings[i].location.start.column");
        EndLine = CkJsonObjectW_IntOf(jResp,L"warnings[i].location.end.line");
        EndColumn = CkJsonObjectW_IntOf(jResp,L"warnings[i].location.end.column");
        possibleFixUrl = CkJsonObjectW_stringOf(jResp,L"warnings[i].possibleFixUrl");
        j = 0;
        count_j = CkJsonObjectW_SizeOfArray(jResp,L"warnings[i].dataPath");
        while (j < count_j) {
            CkJsonObjectW_putJ(jResp,j);
            strVal = CkJsonObjectW_stringOf(jResp,L"warnings[i].dataPath[j]");
            j = j + 1;
        }

        i = i + 1;
    }



    CkHttpW_Dispose(http);
    CkJsonObjectW_Dispose(json);
    CkStringBuilderW_Dispose(sbResponseBody);
    CkJsonObjectW_Dispose(jResp);

    }

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}"
    }
  ]
}