+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
@@ -74,7 +74,7 @@
Rulesets
- Contact - A set of rules centered on teh contact information.
+ Contact - A set of rules centered on the contact information.
-
@@ -962,11 +962,11 @@
Rules
components-must-exist (Link) - Components object must be present
-
name: components-must-exist
-object: metadata.count
-disabled: false
-description: Components object must be present
-truthy: components
+ name: components-must-exist
+object: metadata.count
+disabled: false
+description: Components object must be present
+truthy: components
Rules
contact-properties (Link) - contact object should have name, url and email
-
name: contact-properties
-object: contact
-description: contact object should have name, url and email
-truthy:
-
- - name
- - url
- - email
-
+ name: contact-properties
+object: contact
+description: contact object should have name, url and email
+truthy:
+
+ - name
+ - url
+ - email
+
Rules
default-and-example-are-redundant (Link) - don't need to define an example if its exactly the same as your default
-
name: default-and-example-are-redundant
-object: “*”
-description: don’t need to define an example if its exactly the same as your default
-schema:
- dependencies:
- default:
- properties:
- example:
- not:
- const:
- “$data”: “1/default”
+ name: default-and-example-are-redundant
+object: “*”
+description: don’t need to define an example if its exactly the same as your default
+schema:
+ dependencies:
+ default:
+ properties:
+ example:
+ not:
+ const:
+ “$data”: “1/default”
Rules
disallow-uri-versioning-in-paths (Link) - paths shouldn't contain version numbers
-
name: disallow-uri-versioning-in-paths
-object: pathItem
-description: paths shouldn’t contain version numbers
-pattern:
- property: “$key”
- split: “/”
- value: “^((?!v[0-9]).)*$”
+ name: disallow-uri-versioning-in-paths
+object: pathItem
+description: paths shouldn’t contain version numbers
+pattern:
+ property: “$key”
+ split: “/”
+ value: “^((?!v[0-9]).)*$”
Rules
example-value-or-externalValue (Link) - example should have either value or externalValue
-
name: example-value-or-externalValue
-object: example
-description: example should have either value or externalValue
-xor:
-
- - value
- - externalValue
-
+ name: example-value-or-externalValue
+object: example
+description: example should have either value or externalValue
+xor:
+
+ - value
+ - externalValue
+
Rules
headers-must-be-pascal-cased (Link) - header must be in the form of Pascal-Case, separated by hyphens
-
name: headers-must-be-pascal-cased
-object: header
-description: header must be in the form of Pascal-Case, separated by hyphens
-pattern:
- property: “$key”
- value: “^[A-Z]<a href="?:[A-Z][a-z-]*">a-z-</a>*$”
+ name: headers-must-be-pascal-cased
+object: header
+description: header must be in the form of Pascal-Case, separated by hyphens
+pattern:
+ property: “$key”
+ value: “^[A-Z]<a href="?:[A-Z][a-z-]*">a-z-</a>*$”
Rules
info-contact (Link) - info object should contain contact object
-
name: info-contact
-object: info
-description: info object should contain contact object
-truthy: contact
+ name: info-contact
+object: info
+description: info object should contain contact object
+truthy: contact
Rules
license-gruntjs-reference (Link) - license url should not point at gruntjs
-
name: license-apimatic-bug
-object: license
-description: license url should not point at gruntjs
-notContain:
- properties:
-
- - url
- value: gruntjs
-
+ name: license-apimatic-bug
+object: license
+description: license url should not point at gruntjs
+notContain:
+ properties:
+
+ - url
+ value: gruntjs
+
Rules
license-url (Link) - license object should include url
-
name: license-url
-object: license
-description: license object should include url
-truthy: url
+ name: license-url
+object: license
+description: license object should include url
+truthy: url
Rules
no-eval-in-descriptions (Link) - markdown descriptions should not contain 'eval('
-
name: no-eval-in-descriptions
-object: “*”
-description: markdown descriptions should not contain ‘eval(‘
-notContain:
- properties:
-
- - description
- - title
- value: eval(
-
+ name: no-eval-in-descriptions
+object: “*”
+description: markdown descriptions should not contain ‘eval(‘
+notContain:
+ properties:
+
+ - description
+ - title
+ value: eval(
+
Rules
no-script-tags-in-markdown (Link) - markdown descriptions should not contain <script> tags
-
name: no-script-tags-in-markdown
-object: “*”
-description: markdown descriptions should not contain <script> tags
-notContain:
- properties:
-
- - description
- value: “<script”
-
+ name: no-script-tags-in-markdown
+object: “*”
+description: markdown descriptions should not contain <script> tags
+notContain:
+ properties:
+
+ - description
+ value: “<script”
+
Rules
openapi-tags-alphabetical (Link) - openapi object should have alphabetical tags
-
name: openapi-tags-alphabetical
-object: openapi
-description: openapi object should have alphabetical tags
-alphabetical:
- properties:
- - tags
- keyedBy: name
+ name: openapi-tags-alphabetical
+object: openapi
+description: openapi object should have alphabetical tags
+alphabetical:
+ properties:
+ - tags
+ keyedBy: name
Rules
openapi-tags (Link) - openapi object should have non-empty tags array
-
name: openapi-tags
-object: openapi
-description: openapi object should have non-empty tags array
-truthy: tags
+ name: openapi-tags
+object: openapi
+description: openapi object should have non-empty tags array
+truthy: tags
Rules
operation-operationId (Link) - operation should have an operationId
-
name: operation-operationId
-object: operation
-description: operation should have an operationId
-truthy: operationId
+ name: operation-operationId
+object: operation
+description: operation should have an operationId
+truthy: operationId
Rules
operation-summary-or-description (Link) - operation should have summary or description
-
name: operation-summary-or-description
-object: operation
-description: operation should have summary or description
-or:
-
- - summary
- - description
-
+ name: operation-summary-or-description
+object: operation
+description: operation should have summary or description
+or:
+
+ - summary
+ - description
+
Rules
operation-tags (Link) - operation should have non-empty tags array
-
name: operation-tags
-object: operation
-description: operation should have non-empty tags array
-truthy: tags
-skip: isCallback
+ name: operation-tags
+object: operation
+description: operation should have non-empty tags array
+truthy: tags
+skip: isCallback
Rules
parameter-description (Link) - parameter objects should have a description
-
name: parameter-description
-object: parameter
-description: parameter objects should have a description
-truthy: description
+ name: parameter-description
+object: parameter
+description: parameter objects should have a description
+truthy: description
Rules
parameter-name-regex (Link) - parameter names should match RFC6570
-
name: parameter-name-regex
-object: parameter
-disabled: true
-description: parameter names should match RFC6570
-pattern:
- property: name
- value: ‘’
+ name: parameter-name-regex
+object: parameter
+disabled: true
+description: parameter names should match RFC6570
+pattern:
+ property: name
+ value: ‘’
Rules
path-keys-no-trailing-slash (Link) - paths should not end with a slash
-
name: path-keys-no-trailing-slash
-object: pathItem
-description: paths should not end with a slash
-notEndWith:
- property: “$key”
- value: “/”
+ name: path-keys-no-trailing-slash
+object: pathItem
+description: paths should not end with a slash
+notEndWith:
+ property: “$key”
+ value: “/”
Rules
path-segments-lowercased-hyphens (Link) - path items must be lowercase and separated with hyphens
-
name: path-segments-lowercased-hyphens
-object: paths
-description: path items must be lowercase and separated with hyphens
-pattern:
- property: “$key”
- split: “/”
- value: “^{[^}]<em>}$|^([a-z-\/]</em>)$”
+ name: path-segments-lowercased-hyphens
+object: paths
+description: path items must be lowercase and separated with hyphens
+pattern:
+ property: “$key”
+ split: “/”
+ value: “^{[^}]<em>}$|^([a-z-\/]</em>)$”
Rules
reference-components-regex (Link) - reference components should all match regex ^[a-zA-Z0-9\.\-_]+
-
name: reference-components-regex
-object: reference
-disabled: true
-description: reference components should all match regex ^[a-zA-Z0-9.-_]+
-pattern:
- property: “$ref”
- omit: “#”
- split: “/”
- value: “^[a-zA-Z0-9\.\-_]+$”
+ name: reference-components-regex
+object: reference
+disabled: true
+description: reference components should all match regex ^[a-zA-Z0-9.-_]+
+pattern:
+ property: “$ref”
+ omit: “#”
+ split: “/”
+ value: “^[a-zA-Z0-9\.\-_]+$”
Rules
reference-no-other-properties (Link) - reference objects should only have a $ref property
-
name: reference-no-other-properties
-object: reference
-description: reference objects should only have a $ref property
-truthy: “$ref”
-properties: 1
+ name: reference-no-other-properties
+object: reference
+description: reference objects should only have a $ref property
+truthy: “$ref”
+properties: 1
Rules
refs-must-exist (Link) - Reference objects must be present
-
name: refs-must-exist
-object: metadata.count
-disabled: false
-description: Reference objects must be present
-truthy: reference
+ name: refs-must-exist
+object: metadata.count
+disabled: false
+description: Reference objects must be present
+truthy: reference
Rules
response-must-be-integer (Link) - response must be an valid HTTP status code
-
name: response-must-be-integer
-object: response
-description: response must be an valid HTTP status code
-pattern:
- property: “$key”
- value: “^([0-9])*$”
+ name: response-must-be-integer
+object: response
+description: response must be an valid HTTP status code
+pattern:
+ property: “$key”
+ value: “^([0-9])*$”
Rules
schema-property-name-snake-case (Link) - schema property must be in snake_case
-
name: schema-property-name-snake-case
-object: schema
-disabled: false,
-description: “schema property must be in snake_case”
-pattern:
- property: “$key”
- omit: “properties/”
- value: “^([a-z_])*$”
+ name: schema-property-name-snake-case
+object: schema
+disabled: false,
+description: “schema property must be in snake_case”
+pattern:
+ property: “$key”
+ omit: “properties/”
+ value: “^([a-z_])*$”
Rules
server-not-example.com (Link) - server url should not point at example.com
-
name: server-not-example.com
-object: server
-description: server url should not point at example.com
-notContain:
- properties:
-
- - url
- value: example.com
-
+ name: server-not-example.com
+object: server
+description: server url should not point at example.com
+notContain:
+ properties:
+
+ - url
+ value: example.com
+
Rules
server-trailing-slash (Link) - server url should not have a trailing slash
-
name: server-trailing-slash
-object: server
-description: server url should not have a trailing slash
-notEndWith:
- property: url
- value: “/”
+ name: server-trailing-slash
+object: server
+description: server url should not have a trailing slash
+notEndWith:
+ property: url
+ value: “/”
Rules
short-summary (Link) - summary should be short (description can be long)
-
name: short-summary
-object: operation
-description: summary should be short (description can be long)
-maxLength:
- property: summary
- value: 20
+ name: short-summary
+object: operation
+description: summary should be short (description can be long)
+maxLength:
+ property: summary
+ value: 20
Rules
tag-description (Link) - tag object should have a description
-
name: tag-description
-object: tag
-description: tag object should have a description
-truthy: description
+ name: tag-description
+object: tag
+description: tag object should have a description
+truthy: description