Rules
Every OpenLint rule we know of, each with its own page: the 134 rules in the built-in rulesets, plus examples from the specification and learn.
138 rules
-
arazzo-document-schemaArazzo Document must be valid against the Arazzo schema.
-
arazzo-info-descriptionInfo "description" should be present and non-empty string.
-
arazzo-info-summaryInfo "summary" is recommended be present and be a non-empty string.
-
arazzo-no-script-tags-in-markdownMarkdown descriptions must not have "<script>" tags.
-
arazzo-source-descriptions-typeSource Description "type" should be present.
-
arazzo-step-descriptionStep "description" should be present and non-empty string.
-
arazzo-step-failure-actions-validationEvery failure action must have a unique "name", and the fields "workflowId" and "stepId" are mutually exclusive.
-
arazzo-step-operationPathIt is recommended to use "operationId" rather than "operationPath".
-
arazzo-step-output-validationEvery step output must have unique name and its value must be a valid runtime expression.
-
arazzo-step-parameters-validationStep parameters and workflow parameters must valid.
-
arazzo-step-request-body-validationEvery step request body must have a valid `contentType` and use of runtime expressions.
-
arazzo-step-stepIdStep "stepId" should follow the pattern "^[A-Za-z0-9_\-]+$".
-
arazzo-step-success-actions-validationEvery success action must have a unique "name", and the fields "workflowId" and "stepId" are mutually exclusive.
-
arazzo-step-success-criteria-validationEvery success criteria must have a valid context, conditions, and types.
-
arazzo-step-validationEvery step must have a valid "stepId" and an valid "operationId" or "operationPath" or "workflowId".
-
arazzo-workflow-depends-on-validationEvery workflow dependency must be valid.
-
arazzo-workflow-descriptionWorkflow "description" should be present and non-empty string.
-
arazzo-workflow-output-validationEvery workflow output must have unique name and its value must be a valid runtime expression.
-
arazzo-workflow-stepId-uniqueEvery step must have unique "stepId".
-
arazzo-workflow-summaryWorkflow "summary" should be present and non-empty string.
-
arazzo-workflow-workflowIdWorkflow "workflowId" should follow the pattern "^[A-Za-z0-9_\-]+$".
-
arazzo-workflowId-uniqueEvery workflow must have unique "workflowId".
-
array-items -
asyncapi-3-channel-no-empty-parameterChannel address must not have empty parameter substitution pattern.
-
asyncapi-3-channel-no-query-nor-fragmentChannel address must not include query ("?") or fragment ("#") delimiter.
-
asyncapi-3-channel-no-trailing-slashChannel address must not end with slash.
-
asyncapi-3-channel-serversChannel servers must be defined in the "servers" object.
-
asyncapi-3-document-resolvedChecking if the AsyncAPI v3 document has valid structure after resolving references.
-
asyncapi-3-document-unresolvedChecking if the AsyncAPI v3 document has valid structure before resolving references.
-
asyncapi-3-headers-schema-type-objectHeaders schema type must be "object".
-
asyncapi-3-operation-descriptionOperation "description" must be present and non-empty string.
-
asyncapi-3-operation-securityOperation have to reference a defined security schemes.
-
asyncapi-3-payload-unsupported-schemaFormatMessage schema validation is only supported with default unspecified "schemaFormat".
-
asyncapi-3-server-no-empty-variableServer host and pathname must not have empty variable substitution pattern.
-
asyncapi-3-server-no-trailing-slashServer host must not end with slash.
-
asyncapi-3-server-not-example-comServer host must not point at example.com.
-
asyncapi-3-tag-descriptionTag object must have "description".
-
asyncapi-3-tagsAsyncAPI document must have non-empty "tags" array.
-
asyncapi-3-tags-alphabeticalAsyncAPI object must have alphabetical "tags".
-
asyncapi-3-tags-uniquenessEach tag must have a unique name.
-
asyncapi-channel-no-empty-parameterChannel path must not have empty parameter substitution pattern.
-
asyncapi-channel-no-query-nor-fragmentChannel path must not include query ("?") or fragment ("#") delimiter.
-
asyncapi-channel-no-trailing-slashChannel path must not end with slash.
-
asyncapi-channel-parametersChannel parameters must be defined and there must be no redundant parameters.
-
asyncapi-channel-serversChannel servers must be defined in the "servers" object.
-
asyncapi-headers-schema-type-objectHeaders schema type must be "object".
-
asyncapi-info-contactInfo object must have "contact" object.
-
asyncapi-info-contact-propertiesContact object must have "name", "url" and "email".
-
asyncapi-info-descriptionInfo "description" must be present and non-empty string.
-
asyncapi-info-licenseInfo object must have "license" object.
-
asyncapi-info-license-urlLicense object must include "url".
-
asyncapi-latest-versionChecking if the AsyncAPI document is using the latest version.
-
asyncapi-message-examplesExamples of message object should follow by "payload" and "headers" schemas.
-
asyncapi-message-messageId-uniqueness"messageId" must be unique across all the messages.
-
asyncapi-operation-descriptionOperation "description" must be present and non-empty string.
-
asyncapi-operation-operationIdOperation must have "operationId".
-
asyncapi-operation-operationId-uniqueness"operationId" must be unique across all the operations.
-
asyncapi-operation-securityOperation have to reference a defined security schemes.
-
asyncapi-parameter-descriptionParameter objects must have "description".
-
asyncapi-payloadPayloads must be valid against AsyncAPI Schema object.
-
asyncapi-payload-defaultDefault must be valid against its defined schema.
-
asyncapi-payload-examplesExamples must be valid against their defined schema.
-
asyncapi-payload-unsupported-schemaFormatMessage schema validation is only supported with default unspecified "schemaFormat".
-
asyncapi-schemaValidate structure of AsyncAPI specification.
-
asyncapi-schema-defaultDefault must be valid against its defined schema.
-
asyncapi-schema-examplesExamples must be valid against their defined schema.
-
asyncapi-server-no-empty-variableServer URL must not have empty variable substitution pattern.
-
asyncapi-server-no-trailing-slashServer URL must not end with slash.
-
asyncapi-server-not-example-comServer URL must not point at example.com.
-
asyncapi-server-securityServer have to reference a defined security schemes.
-
asyncapi-server-variablesServer variables must be defined and there must be no redundant variables.
-
asyncapi-serversAsyncAPI object must have non-empty "servers" object.
-
asyncapi-tag-descriptionTag object must have "description".
-
asyncapi-tagsAsyncAPI object must have non-empty "tags" array.
-
asyncapi-tags-alphabeticalAsyncAPI object must have alphabetical "tags".
-
asyncapi-tags-uniquenessEach tag must have a unique name.
-
asyncapi-unused-components-schemaPotentially unused components schema has been detected.
-
asyncapi-unused-components-serverPotentially unused components server has been detected.
-
contact-propertiesContact object must have "name", "url" and "email".
-
duplicated-entry-in-enumEnum values must not have duplicate entry.
-
info-contactInfo object must have "contact" object.
-
info-descriptionInfo "description" must be present and non-empty string.
-
info-licenseInfo object must have "license" object.
-
license-urlLicense object must include "url".
-
no-$ref-siblingsProperty must not be placed among $ref
-
no-eval-in-markdownMarkdown descriptions must not have "eval(".
-
no-script-tags-in-markdownMarkdown descriptions must not have "<script>" tags.
-
oas2-anyOfanyOf is not available in OpenAPI v2, it was added in OpenAPI v3
-
oas2-api-hostOpenAPI "host" must be present and non-empty string.
-
oas2-api-schemesOpenAPI host "schemes" must be present and non-empty array.
-
oas2-discriminatordiscriminator property must be defined and required
-
oas2-host-not-exampleHost URL must not point at example.com.
-
oas2-host-trailing-slashServer URL must not have trailing slash.
-
oas2-oneOfoneOf is not available in OpenAPI v2, it was added in OpenAPI v3
-
oas2-operation-formData-consume-checkOperations with "in: formData" parameter must include "application/x-www-form-urlencoded" or "multipart/form-data" in their "consumes" property.
-
oas2-operation-security-definedOperation "security" values must match a scheme defined in the "securityDefinitions" object.
-
oas2-parameter-descriptionParameter objects must have "description".
-
oas2-schemaValidate structure of OpenAPI v2 specification.
-
oas2-unused-definitionPotentially unused definition has been detected.
-
oas2-valid-media-exampleExamples must be valid against their defined schema.
-
oas2-valid-schema-exampleExamples must be valid against their defined schema.
-
oas3-api-serversOpenAPI "servers" must be present and non-empty array.
-
oas3-callbacks-in-callbacks -
oas3-examples-value-or-externalValueExamples must have either "value" or "externalValue" field.
-
oas3-operation-security-definedOperation "security" values must match a scheme defined in the "components.securitySchemes" object.
-
oas3-parameter-descriptionParameter objects must have "description".
-
oas3-schemaValidate structure of OpenAPI v3 specification.
-
oas3-server-not-example.comServer URL must not point at example.com.
-
oas3-server-trailing-slashServer URL must not have trailing slash.
-
oas3-server-variablesServer variables must be defined and valid and there must be no unused variables.
-
oas3-unused-component -
oas3-valid-media-exampleExamples must be valid against their defined schema.
-
oas3-valid-schema-exampleExamples must be valid against their defined schema.
-
oas3_1-callbacks-in-webhook -
oas3_1-servers-in-webhook -
oas3_2-no-deprecated-xml-attribute -
openapi-tagsOpenAPI object must have non-empty "tags" array.
-
openapi-tags-alphabeticalOpenAPI object must have alphabetical "tags".
-
openapi-tags-uniquenessEach tag must have a unique name.
-
operation-descriptionOperation "description" must be present and non-empty string.
-
operation-has-tagsEvery operation is tagged.
-
operation-id-camel-caseoperationId is written in camelCase.
-
operation-operationIdOperation must have "operationId".
-
operation-operationId-uniqueEvery operation must have unique "operationId".
-
operation-operationId-valid-in-url -
operation-parametersOperation parameters are unique and non-repeating.
-
operation-singular-tagOperation must not have more than a single tag.
-
operation-success-responseOperation must have at least one "2xx" or "3xx" response.
-
operation-summaryEvery operation needs a summary.
-
operation-tag-definedOperation tags must be defined in global tags.
-
operation-tagsOperation must have non-empty "tags" array.
-
path-declarations-must-exist -
path-keys-no-trailing-slash -
path-not-include-queryPath must not include query string.
-
path-paramsPath parameters must be defined and valid.
-
server-httpsEvery server URL uses https.
-
tag-descriptionTag object must have "description".
-
typed-enumEnum values must respect the specified type.
No rules match. Clear the filters.
The same list as data: rules.json. Rules are generated from @openlint/openlint-rulesets, the toolbox's reference docs and the specification; see openlint/rules to add one.