Objective-C / Postman API / Schema Security Validation
Back to Collection Items
#import <CkoHttp.h>
#import <CkoJsonObject.h>
#import <CkoHttpResponse.h>
#import <CkoStringBuilder.h>
#import <NSString.h>
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkoHttp *http = [[CkoHttp alloc] init];
BOOL success;
// 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\":[]}]}"
// }
// }
CkoJsonObject *json = [[CkoJsonObject alloc] init];
[json UpdateString: @"schema.type" value: @"openapi3"];
[json UpdateString: @"schema.language" value: @"json"];
[json UpdateString: @"schema.schema" value: @"{\"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\":[]}]}"];
[http SetRequestHeader: @"Content-Type" value: @"application/json"];
[http SetRequestHeader: @"X-API-Key" value: @"{{postman_api_key}}"];
CkoHttpResponse *resp = [http PostJson3: @"https://api.getpostman.com/security/api-validation" contentType: @"application/json" json: json];
if (http.LastMethodSuccess == NO) {
NSLog(@"%@",http.LastErrorText);
return;
}
CkoStringBuilder *sbResponseBody = [[CkoStringBuilder alloc] init];
[resp GetBodySb: sbResponseBody];
CkoJsonObject *jResp = [[CkoJsonObject alloc] init];
[jResp LoadSb: sbResponseBody];
jResp.EmitCompact = NO;
NSLog(@"%@",@"Response Body:");
NSLog(@"%@",[jResp Emit]);
int respStatusCode = [resp.StatusCode intValue];
NSLog(@"%@%d",@"Response Status Code = ",respStatusCode);
if (respStatusCode >= 400) {
NSLog(@"%@",@"Response Header:");
NSLog(@"%@",resp.Header);
NSLog(@"%@",@"Failed.");
return;
}
// 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
NSString *severity = 0;
NSString *message = 0;
int Line;
int Column;
int EndLine;
int EndColumn;
NSString *possibleFixUrl = 0;
int j;
int count_j;
NSString *strVal = 0;
int i = 0;
int count_i = [[jResp SizeOfArray: @"warnings"] intValue];
while (i < count_i) {
jResp.I = [NSNumber numberWithInt: i];
severity = [jResp StringOf: @"warnings[i].severity"];
message = [jResp StringOf: @"warnings[i].message"];
Line = [[jResp IntOf: @"warnings[i].location.start.line"] intValue];
Column = [[jResp IntOf: @"warnings[i].location.start.column"] intValue];
EndLine = [[jResp IntOf: @"warnings[i].location.end.line"] intValue];
EndColumn = [[jResp IntOf: @"warnings[i].location.end.column"] intValue];
possibleFixUrl = [jResp StringOf: @"warnings[i].possibleFixUrl"];
j = 0;
count_j = [[jResp SizeOfArray: @"warnings[i].dataPath"] intValue];
while (j < count_j) {
jResp.J = [NSNumber numberWithInt: j];
strVal = [jResp StringOf: @"warnings[i].dataPath[j]"];
j = j + 1;
}
i = i + 1;
}
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}"
}
]
}