OpenAPI v3 Standard Validation
Overview
Validation checks performed on provided OpenAPI v3 file to check its conformance to rules set by the OpenAPI v3 official standards document.
Property | Value |
---|---|
Id | openapi-v3-standards-validation |
Code | OPENAPI3STANDARDS_V |
Ruleset Type | Validation |
Default Severity of All Rules | Error |
Rule System | Semantic |
Tags | openapi3 openapi standards semantic validation |
For More Information
- https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#openapi-specification
- https://docs.apimatic.io/rulesets/overview/
Categories of Rules
- OpenAPI Root Information (OPENAPI3STANDARDS_V001 - OPENAPI3STANDARDS_V009)
- Info (OPENAPI3STANDARDS_V010 - OPENAPI3STANDARDS_V019)
- License (OPENAPI3STANDARDS_V020 - OPENAPI3STANDARDS_V024)
- Servers (OPENAPI3STANDARDS_V025 - OPENAPI3STANDARDS_V029)
- Server Variables (OPENAPI3STANDARDS_V030 - OPENAPI3STANDARDS_V034)
- Paths (OPENAPI3STANDARDS_V035 - OPENAPI3STANDARDS_V044)
- Path Items (OPENAPI3STANDARDS_V045 - OPENAPI3STANDARDS_V049)
- Operations (OPENAPI3STANDARDS_V050 - OPENAPI3STANDARDS_V069)
- External Documentation (OPENAPI3STANDARDS_V070 - OPENAPI3STANDARDS_V074)
- Parameters (OPENAPI3STANDARDS_V075 - OPENAPI3STANDARDS_V119)
- Request Body (OPENAPI3STANDARDS_V120 - OPENAPI3STANDARDS_V129)
- Media Types (OPENAPI3STANDARDS_V130 - OPENAPI3STANDARDS_V144)
- Encoding (OPENAPI3STANDARDS_V145 - OPENAPI3STANDARDS_V194)
- Responses (OPENAPI3STANDARDS_V195 - OPENAPI3STANDARDS_V214)
- Callbacks (OPENAPI3STANDARDS_V215 - OPENAPI3STANDARDS_V224)
- Examples (OPENAPI3STANDARDS_V225 - OPENAPI3STANDARDS_V234)
- Links (OPENAPI3STANDARDS_V235 - OPENAPI3STANDARDS_V244)
- Headers (OPENAPI3STANDARDS_V245 - OPENAPI3STANDARDS_V299)
- Tags (OPENAPI3STANDARDS_V300 - OPENAPI3STANDARDS_V309)
- References (OPENAPI3STANDARDS_V310 - OPENAPI3STANDARDS_V324)
- Schemas (OPENAPI3STANDARDS_V325 - OPENAPI3STANDARDS_V399)
- Discriminators (OPENAPI3STANDARDS_V400 - OPENAPI3STANDARDS_V409)
- Security Schemes (OPENAPI3STANDARDS_V410 - OPENAPI3STANDARDS_V439)
- OAuth 2.0 Flows (OPENAPI3STANDARDS_V440 - OPENAPI3STANDARDS_V449)
- Security Requirements (OPENAPI3STANDARDS_V450 - OPENAPI3STANDARDS_V459)
- Specification Extensions (OPENAPI3STANDARDS_V460 - OPENAPI3STANDARDS_V464)
- Runtime Expressions (OPENAPI3STANDARDS_V465 - OPENAPI3STANDARDS_V469)
OpenAPI Root Information Rules
- required-openapi-version (OPENAPI3STANDARDS_V001)
- valid-openapi-version (OPENAPI3STANDARDS_V002)
- required-api-info (OPENAPI3STANDARDS_V003)
- required-paths (OPENAPI3STANDARDS_V004)
- required-paths-or-components-or-webhooks (OPENAPI3STANDARDS_V005)
- unique-webhooks-key (OPENAPI3STANDARDS_V006)
Info Rules
License Rules
- required-license-name (OPENAPI3STANDARDS_V020)
- license-identifier-and-url-are-mutually-exclusive (OPENAPI3STANDARDS_V021)
Servers Rules
Server Variables Rules
- required-server-variable-default-value (OPENAPI3STANDARDS_V030)
- at-least-one-item-in-server-variable-enum-list (OPENAPI3STANDARDS_V031)
- valid-server-variable-default-value-for-enum (OPENAPI3STANDARDS_V032)
Paths Rules
- unique-path (OPENAPI3STANDARDS_V035)
- pre-defined-path-parameter-for-path-url-template-expression (OPENAPI3STANDARDS_V036)
- non-identical-templated-paths (OPENAPI3STANDARDS_V037)
Path Items Rules
- path-item-reference-is-a-path-item-object (OPENAPI3STANDARDS_V045)
- unique-path-item-parameter (OPENAPI3STANDARDS_V046)
Operations Rules
- required-operation-responses (OPENAPI3STANDARDS_V050)
- unique-operation-id (OPENAPI3STANDARDS_V051)
- unique-operation-parameter (OPENAPI3STANDARDS_V052)
- get-operation-cannot-have-request-body (OPENAPI3STANDARDS_V053)
- delete-operation-cannot-have-request-body (OPENAPI3STANDARDS_V054)
- head-operation-cannot-have-request-body (OPENAPI3STANDARDS_V055)
- unique-operation-callback-key (OPENAPI3STANDARDS_V056)
External Documentation Rules
Parameters Rules
- required-parameter-name (OPENAPI3STANDARDS_V075)
- required-parameter-location (OPENAPI3STANDARDS_V076)
- required-parameter-schema-or-content (OPENAPI3STANDARDS_V077)
- parameter-schema-and-content-are-mutually-exclusive (OPENAPI3STANDARDS_V078)
- valid-parameter-location (OPENAPI3STANDARDS_V079)
- path-parameter-exists-in-path-url-template (OPENAPI3STANDARDS_V080)
- required-path-parameter-required-attribute (OPENAPI3STANDARDS_V081)
- path-parameter-cannot-be-optional (OPENAPI3STANDARDS_V082)
- no-accept-header-parameter-definition (OPENAPI3STANDARDS_V083)
- no-content-type-header-parameter-definition (OPENAPI3STANDARDS_V084)
- no-authorization-header-parameter-definition (OPENAPI3STANDARDS_V085)
- valid-parameter-style (OPENAPI3STANDARDS_V086)
- valid-query-parameter-style (OPENAPI3STANDARDS_V087)
- valid-path-parameter-style (OPENAPI3STANDARDS_V088)
- valid-header-parameter-style (OPENAPI3STANDARDS_V089)
- valid-cookie-parameter-style (OPENAPI3STANDARDS_V090)
- parameter-simple-style-only-for-array-type (OPENAPI3STANDARDS_V091)
- parameter-space-delimited-style-only-for-array-type (OPENAPI3STANDARDS_V092)
- parameter-pipe-delimited-style-only-for-array-type (OPENAPI3STANDARDS_V093)
- parameter-deep-object-style-only-for-object-type (OPENAPI3STANDARDS_V094)
- no-allow-empty-value-for-simple-style-parameter (OPENAPI3STANDARDS_V095)
- no-allow-empty-value-for-space-delimited-style-parameter (OPENAPI3STANDARDS_V096)
- no-allow-empty-value-for-pipe-delimited-style-parameter (OPENAPI3STANDARDS_V097)
- no-allow-empty-value-for-deep-object-style-parameter (OPENAPI3STANDARDS_V098)
- parameter-example-and-examples-are-mutually-exclusive (OPENAPI3STANDARDS_V099)
- parameter-example-overrides-schema-example (OPENAPI3STANDARDS_V100)
- parameter-examples-override-schema-example (OPENAPI3STANDARDS_V101)
- single-entry-parameter-content-map (OPENAPI3STANDARDS_V102)
- parameter-space-delimited-style-only-for-array-or-object-types (OPENAPI3STANDARDS_V103)
- parameter-pipe-delimited-style-only-for-array-or-object-types (OPENAPI3STANDARDS_V104)
Request Body Rules
- required-request-body-content (OPENAPI3STANDARDS_V120)
- multipart-media-type-for-multi-file-request-body (OPENAPI3STANDARDS_V121)
Media Types Rules
- required-media-type-schema-for-multipart-request-body (OPENAPI3STANDARDS_V130)
- media-type-example-and-examples-are-mutually-exclusive (OPENAPI3STANDARDS_V131)
- media-type-example-overrides-media-schema-example (OPENAPI3STANDARDS_V132)
- media-type-examples-override-media-schema-example (OPENAPI3STANDARDS_V133)
- media-type-encoding-property-exists-in-schema (OPENAPI3STANDARDS_V134)
- request-body-encoding-only-for-form-media-types (OPENAPI3STANDARDS_V135)
- no-schema-content-media-type-for-pre-defined-file-media-type-value (OPENAPI3STANDARDS_V136)
Encoding Rules
- no-content-type-header-in-encoding-headers (OPENAPI3STANDARDS_V145)
- request-body-encoding-headers-only-for-multipart-media-type (OPENAPI3STANDARDS_V146)
- valid-encoding-style (OPENAPI3STANDARDS_V147)
- encoding-space-delimited-style-only-for-array-type (OPENAPI3STANDARDS_V148)
- encoding-pipe-delimited-style-only-for-array-type (OPENAPI3STANDARDS_V149)
- encoding-deep-object-style-only-for-object-type (OPENAPI3STANDARDS_V150)
- request-body-encoding-style-only-for-form-url-encoded-media-type (OPENAPI3STANDARDS_V151)
- request-body-encoding-explode-only-for-form-url-encoded-media-type (OPENAPI3STANDARDS_V152)
- request-body-encoding-allow-reserved-only-for-form-url-encoded-media-type (OPENAPI3STANDARDS_V153)
- no-content-type-with-encoding-style (OPENAPI3STANDARDS_V154)
- no-content-type-with-encoding-explode (OPENAPI3STANDARDS_V155)
- no-content-type-with-encoding-allow-reserved (OPENAPI3STANDARDS_V156)
- encoding-space-delimited-style-only-for-array-or-object-types (OPENAPI3STANDARDS_V157)
- encoding-pipe-delimited-style-only-for-array-or-object-types (OPENAPI3STANDARDS_V158)
- request-body-encoding-style-only-for-form-media-types (OPENAPI3STANDARDS_V159)
- request-body-encoding-explode-only-for-form-media-types (OPENAPI3STANDARDS_V160)
- request-body-encoding-allow-reserved-only-for-form-media-types (OPENAPI3STANDARDS_V161)
Responses Rules
- unique-response-http-status-code (OPENAPI3STANDARDS_V195)
- at-least-one-response-code-in-responses (OPENAPI3STANDARDS_V196)
- required-response-description (OPENAPI3STANDARDS_V197)
- no-content-type-response-header-definition (OPENAPI3STANDARDS_V198)
Callbacks Rules
Examples Rules
Links Rules
- required-link-operation-ref-or-id (OPENAPI3STANDARDS_V235)
- link-operation-id-and-ref-are-mutually-exclusive (OPENAPI3STANDARDS_V236)
- link-operation-ref-points-to-an-operation-object (OPENAPI3STANDARDS_V237)
- pre-defined-operation-for-link-operation-id (OPENAPI3STANDARDS_V238)
Headers Rules
- no-header-name-property (OPENAPI3STANDARDS_V245)
- no-header-location-property (OPENAPI3STANDARDS_V246)
- valid-header-style (OPENAPI3STANDARDS_V247)
- header-simple-style-only-for-array-type (OPENAPI3STANDARDS_V248)
- required-header-schema-or-content (OPENAPI3STANDARDS_V249)
- header-schema-and-content-are-mutually-exclusive (OPENAPI3STANDARDS_V250)
- header-example-and-examples-are-mutually-exclusive (OPENAPI3STANDARDS_V251)
- header-example-overrides-schema-example (OPENAPI3STANDARDS_V252)
- header-examples-override-schema-example (OPENAPI3STANDARDS_V253)
- single-entry-header-content-map (OPENAPI3STANDARDS_V254)
Tags Rules
References Rules
- object-can-be-a-reference (OPENAPI3STANDARDS_V310)
- no-dollar-ref-sibling-properties (OPENAPI3STANDARDS_V311)
- valid-referenced-object (OPENAPI3STANDARDS_V312)
Schemas Rules
- valid-openapi-schema-type (OPENAPI3STANDARDS_V325)
- schema-multiple-of-greater-than-zero (OPENAPI3STANDARDS_V326)
- schema-non-negative-max-length (OPENAPI3STANDARDS_V327)
- schema-non-negative-min-length (OPENAPI3STANDARDS_V328)
- required-array-schema-items (OPENAPI3STANDARDS_V329)
- schema-non-negative-max-items (OPENAPI3STANDARDS_V330)
- schema-non-negative-min-items (OPENAPI3STANDARDS_V331)
- schema-non-negative-max-properties (OPENAPI3STANDARDS_V332)
- schema-non-negative-min-properties (OPENAPI3STANDARDS_V333)
- at-least-one-property-in-schema-required-list (OPENAPI3STANDARDS_V334)
- unique-properties-in-schema-required-list (OPENAPI3STANDARDS_V335)
- schema-property-read-only-or-write-only-but-not-both (OPENAPI3STANDARDS_V336)
- discriminator-field-must-be-a-required-field (OPENAPI3STANDARDS_V337)
- valid-default-value-type (OPENAPI3STANDARDS_V338)
- schema-valid-against-meta-schema (OPENAPI3STANDARDS_V339)
- dollar-schema-only-for-root-schema-of-external-schema-resource (OPENAPI3STANDARDS_V340)
- unique-schema-types (OPENAPI3STANDARDS_V341)
- valid-schema-content-encoding (OPENAPI3STANDARDS_V342)
- at-least-one-item-in-schema-all-of-list (OPENAPI3STANDARDS_V343)
- at-least-one-item-in-schema-any-of-list (OPENAPI3STANDARDS_V344)
- at-least-one-item-in-schema-one-of-list (OPENAPI3STANDARDS_V345)
- schema-then-only-with-if-clause (OPENAPI3STANDARDS_V346)
- schema-else-only-with-if-clause (OPENAPI3STANDARDS_V347)
- at-least-one-item-in-schema-prefix-items-list (OPENAPI3STANDARDS_V348)
- schema-non-negative-max-contains (OPENAPI3STANDARDS_V349)
- schema-non-negative-min-contains (OPENAPI3STANDARDS_V350)
- unique-schema-dependent-required-properties (OPENAPI3STANDARDS_V351)
Discriminators Rules
- required-discriminator-property-name (OPENAPI3STANDARDS_V400)
- no-additional-property-in-discriminator-object (OPENAPI3STANDARDS_V401)
Security Schemes Rules
- required-security-scheme-type (OPENAPI3STANDARDS_V410)
- valid-security-scheme-type (OPENAPI3STANDARDS_V411)
- required-api-key-security-scheme-parameter-name (OPENAPI3STANDARDS_V412)
- required-api-key-security-scheme-parameter-location (OPENAPI3STANDARDS_V413)
- valid-api-key-security-scheme-parameter-location (OPENAPI3STANDARDS_V414)
- required-scheme-of-http-security-scheme (OPENAPI3STANDARDS_V415)
- required-oauth2-security-scheme-flows (OPENAPI3STANDARDS_V416)
- required-open-id-connect-security-scheme-url (OPENAPI3STANDARDS_V417)
OAuth 2.0 Flows Rules
- required-oauth2-flow-authorization-url (OPENAPI3STANDARDS_V440)
- required-oauth2-flow-token-url (OPENAPI3STANDARDS_V441)
- required-oauth2-flow-scopes (OPENAPI3STANDARDS_V442)
Security Requirements Rules
- unique-security-requirement-scheme-name (OPENAPI3STANDARDS_V450)
- empty-security-requirement-property-array-for-non-oauth2-non-open-id-connect-schemes (OPENAPI3STANDARDS_V451)
- pre-defined-security-scheme-for-applying-security (OPENAPI3STANDARDS_V452)