{ "name": "Seasonedshows", "description": "", "spectralExtends": [], "formats": [ "oas2", "oas3", "oas3.0", "oas3.1" ], "aliases": {}, "rules": {}, "extends": [ "cHJqOjEyMzU4Ng@34" ], "extendedStyleguides": [ { "id": "cHJqOjEyMzU4Ng", "name": "Stoplight Style Guide", "slug": "stoplight-style-guide", "workspace": { "slug": "apistylebook", "name": "API Stylebook" }, "icon": "robot", "color": "#3898ff", "description": "Default rules for Stoplight projects", "latestRelease": { "release": 34 } } ], "inheritedRules": [ { "given": [ "#API_Contact" ], "severity": "warn", "then": { "function": "truthy", "field": "url" }, "extendedFrom": "cHJqOjEyMzU4Ng@34", "name": "contact-url", "description": "The `contact` object should have a valid organization URL. \r\n\r\n**Valid Example**\r\n\r\n```json lineNumbers\r\n{\r\n \"contact\": {\r\n ... ,\r\n \"url\": \"https://acme.com\",\r\n ... \r\n},\r\n```", "message": "Contact object should have \"url\"." }, { "given": [ "#API_Contact" ], "severity": "warn", "then": { "function": "truthy", "field": "email" }, "extendedFrom": "cHJqOjEyMzU4Ng@34", "name": "contact-email", "description": "The `contact` object should have a valid email. \r\n\r\n**Valid Example**\r\n\r\n```json lineNumbers\r\n{\r\n \"contact\": {\r\n ... ,\r\n ... ,\r\n \"email\": \"support.contact@acme.com\"\r\n},\r\n```", "message": "Contact object should have \"email\"" }, { "given": [ "#API_Document" ], "severity": "warn", "then": { "function": "truthy", "field": "info.contact" }, "extendedFrom": "cHJqOjEyMzU4Ng@34", "name": "info-contact", "description": "The `info' object should include a `contact` object.\r\n\r\n**Valid Example**\r\n\r\n```json lineNumbers\r\n{\r\n \"info\": {\r\n ... ,\r\n ... ,\r\n \"contact\": {\r\n \"name\": \"ACME Corporation\",\r\n \"url\": \"https://acme.com\",\r\n \"email\": \"support.contact@acme.com\"\r\n }\r\n } \r\n}\r\n```", "message": "Info object should have \"contact\" object." }, { "given": [ "#API_Document" ], "severity": "warn", "then": { "function": "truthy", "field": "info.description" }, "extendedFrom": "cHJqOjEyMzU4Ng@34", "name": "info-description", "description": "The `info` object should have a `description` object.\r\n\r\n**Valid Example**\r\n\r\n```json lineNumbers\r\n{\r\n \"info\": {\r\n ... ,\r\n ... ,\r\n \"description\": \"This describes my API.\",\r\n ... \r\n }\r\n } \r\n}\r\n```", "message": "Info object should have \"description\" object." }, { "given": [ "#API_Document" ], "severity": "warn", "then": { "function": "truthy", "field": "info.license" }, "extendedFrom": "cHJqOjEyMzU4Ng@34", "name": "info-license", "description": "The `info` object should have a `license` object. \r\n\r\n**Valid Example**\r\n\r\n```json lineNumbers\r\n{\r\n \"info\": {\r\n ... ,\r\n ... ,\r\n \"license\": {\r\n \"name\": \"Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)\",\r\n \"url\": \"https://creativecommons.org/licenses/by-sa/4.0/\"\r\n }\r\n } \r\n}\r\n```", "message": "Info object should have \"license\" object." }, { "given": [ "#API_License" ], "severity": "warn", "then": { "function": "truthy", "field": "url" }, "extendedFrom": "cHJqOjEyMzU4Ng@34", "name": "license-url", "description": "The `license` object should include a valid url.\r\n\r\n**Valid Example**\r\n\r\n```json lineNumbers\r\n{\r\n \"license\": {\r\n \"name\": \"Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)\",\r\n \"url\": \"https://creativecommons.org/licenses/by-sa/4.0/\"\r\n }\r\n}\r\n```", "message": "License object should include \"url\"." }, { "given": [ "#All_Markdown" ], "severity": "warn", "then": { "function": "pattern", "functionOptions": { "notMatch": "eval\\(" } }, "extendedFrom": "cHJqOjEyMzU4Ng@34", "name": "no-eval-in-markdown", "description": "Markdown descriptions should not contain [`eval()` functions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval), which pose a security risk. \r\n\r\n**Invalid Example**\r\n\r\n```json lineNumbers\r\n{ \r\n \"info\": {\r\n ... ,\r\n ... , \r\n \"description\": \"API for users. eval()\"", "message": "Markdown descriptions must not have \"eval(\"." }, { "given": [ "#All_Markdown" ], "severity": "warn", "then": { "function": "pattern", "functionOptions": { "notMatch": "alert(\"You are Hacked\");',\"\r\n```", "message": "Markdown descriptions must not have \"',\"\r\n```", "message": "Markdown descriptions must not have \"