OpenAPI v3 APIMatic Linting
Overview
Linting checks performed by APIMatic on provided OpenAPI v3 file to check its conformance to recommended practices for better API consumption.
Property | Value |
---|---|
Id | openapi-v3-apimatic-linting |
Code | OPENAPI3APIMATIC_L |
Ruleset Type | Linting |
Default Severity of All Rules | Warning |
Rule System | Semantic |
Products Impacted | API Transformer, Code Generation, Developer Experience Portal |
Tags | openapi3 openapi apimatic semantic linting |
For More Information
- https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md
- https://docs.apimatic.io/rulesets/overview/
Categories of Rules
- OpenAPI Root Information (OPENAPI3APIMATIC_L001 - OPENAPI3APIMATIC_L039)
- OpenAPI Info (OPENAPI3APIMATIC_L040 - OPENAPI3APIMATIC_L059)
- OpenAPI Contact (OPENAPI3APIMATIC_L060 - OPENAPI3APIMATIC_L079)
- OpenAPI Licenses (OPENAPI3APIMATIC_L080 - OPENAPI3APIMATIC_L099)
- OpenAPI Servers (OPENAPI3APIMATIC_L100 - OPENAPI3APIMATIC_L149)
- OpenAPI Components (OPENAPI3APIMATIC_L150 - OPENAPI3APIMATIC_L179)
- OpenAPI Paths (OPENAPI3APIMATIC_L180 - OPENAPI3APIMATIC_L199)
- OpenAPI Path Items (OPENAPI3APIMATIC_L200 - OPENAPI3APIMATIC_L229)
- OpenAPI Operations (OPENAPI3APIMATIC_L230 - OPENAPI3APIMATIC_L299)
- OpenAPI External Documentation (OPENAPI3APIMATIC_L300 - OPENAPI3APIMATIC_L329)
- OpenAPI Parameters (OPENAPI3APIMATIC_L330 - OPENAPI3APIMATIC_L369)
- OpenAPI Request Body (OPENAPI3APIMATIC_L370 - OPENAPI3APIMATIC_L399)
- OpenAPI Media Types (OPENAPI3APIMATIC_L400 - OPENAPI3APIMATIC_L429)
- OpenAPI Encoding (OPENAPI3APIMATIC_L430 - OPENAPI3APIMATIC_L459)
- OpenAPI Responses (OPENAPI3APIMATIC_L460 - OPENAPI3APIMATIC_L499)
- OpenAPI Callbacks (OPENAPI3APIMATIC_L500 - OPENAPI3APIMATIC_L529)
- OpenAPI Links (OPENAPI3APIMATIC_L530 - OPENAPI3APIMATIC_L569)
- OpenAPI Headers (OPENAPI3APIMATIC_L570 - OPENAPI3APIMATIC_L599)
- OpenAPI Tags (OPENAPI3APIMATIC_L600 - OPENAPI3APIMATIC_L629)
- OpenAPI References (OPENAPI3APIMATIC_L630 - OPENAPI3APIMATIC_L659)
- OpenAPI Schemas (OPENAPI3APIMATIC_L660 - OPENAPI3APIMATIC_L799)
- OpenAPI Discriminators (OPENAPI3APIMATIC_L800 - OPENAPI3APIMATIC_L839)
- OpenAPI XML (OPENAPI3APIMATIC_L840 - OPENAPI3APIMATIC_L869)
- OpenAPI Security Schemes (OPENAPI3APIMATIC_L870 - OPENAPI3APIMATIC_L909)
- OpenAPI OAuth 2.0 Flows (OPENAPI3APIMATIC_L910 - OPENAPI3APIMATIC_L929)
- OpenAPI Security Requirements (OPENAPI3APIMATIC_L930 - OPENAPI3APIMATIC_L949)
- OpenAPI Vendor Extensions (OPENAPI3APIMATIC_L950 - OPENAPI3APIMATIC_L969)
- Miscellaneous (OPENAPI3APIMATIC_L970 - OPENAPI3APIMATIC_L999)
OpenAPI Root Information Rules
OpenAPI Info Rules
OpenAPI Licenses Rules
OpenAPI Servers Rules
- server-configuration-extension-used (OPENAPI3APIMATIC_L100)
- pre-defined-environment-for-default-environment (OPENAPI3APIMATIC_L101)
- pre-defined-server-for-default-server (OPENAPI3APIMATIC_L102)
- unique-environment (OPENAPI3APIMATIC_L103)
- required-environment-name (OPENAPI3APIMATIC_L104)
- same-server-sets (OPENAPI3APIMATIC_L105)
- unique-server (OPENAPI3APIMATIC_L106)
- required-server-name (OPENAPI3APIMATIC_L107)
- required-server-url (OPENAPI3APIMATIC_L108)
- unique-server-url (OPENAPI3APIMATIC_L109)
- server-url-uses-https (OPENAPI3APIMATIC_L110)
- pre-defined-server-variable-for-server-url-template-expression (OPENAPI3APIMATIC_L111)
- pre-defined-server-parameter-for-server-url-template-expression (OPENAPI3APIMATIC_L112)
- unique-server-variables-key (OPENAPI3APIMATIC_L113)
- unique-server-parameters (OPENAPI3APIMATIC_L114)
- server-variable-exists-in-server-url-template (OPENAPI3APIMATIC_L115)
- server-parameter-exists-in-server-url-template (OPENAPI3APIMATIC_L116)
- non-empty-server-variables-key (OPENAPI3APIMATIC_L117)
- required-server-parameter-name (OPENAPI3APIMATIC_L118)
- required-server-parameter-type (OPENAPI3APIMATIC_L119)
- valid-server-parameter-type (OPENAPI3APIMATIC_L120)
- server-parameter-cannot-be-array (OPENAPI3APIMATIC_L121)
- server-parameter-cannot-be-map (OPENAPI3APIMATIC_L122)
- server-parameter-cannot-be-constant (OPENAPI3APIMATIC_L123)
- non-empty-server-variable-default (OPENAPI3APIMATIC_L124)
- required-server-parameter-schema-default (OPENAPI3APIMATIC_L125)
- valid-server-parameter-schema-default (OPENAPI3APIMATIC_L126)
OpenAPI Components Rules
- at-least-one-component-reference (OPENAPI3APIMATIC_L150)
- non-empty-schema-component-key (OPENAPI3APIMATIC_L151)
- unique-schema-component-key (OPENAPI3APIMATIC_L152)
- non-empty-security-scheme-component-key (OPENAPI3APIMATIC_L153)
OpenAPI Paths Rules
OpenAPI Operations Rules
- operation-id-exists (OPENAPI3APIMATIC_L230)
- at-least-one-operation-tag (OPENAPI3APIMATIC_L231)
- non-empty-operation-tag (OPENAPI3APIMATIC_L232)
- unique-operation-tag (OPENAPI3APIMATIC_L233)
- alphabetical-operation-tags (OPENAPI3APIMATIC_L234)
- pre-defined-operation-tag-in-global-tags (OPENAPI3APIMATIC_L235)
- pre-defined-operation-server-in-server-configuration (OPENAPI3APIMATIC_L236)
- required-request-body-for-post-operation (OPENAPI3APIMATIC_L237)
- no-dynamic-form-parameters-in-get-operation (OPENAPI3APIMATIC_L238)
- no-dynamic-form-parameters-in-delete-operation (OPENAPI3APIMATIC_L239)
- no-dynamic-form-parameters-in-head-operation (OPENAPI3APIMATIC_L240)
OpenAPI Parameters Rules
OpenAPI Request Body Rules
OpenAPI Media Types Rules
OpenAPI Responses Rules
- unique-responses-key (OPENAPI3APIMATIC_L460)
- sorted-responses-keys (OPENAPI3APIMATIC_L461)
- at-least-one-operation-4XX-response (OPENAPI3APIMATIC_L462)
- no-response-content-implies-reponse-with-no-body (OPENAPI3APIMATIC_L463)
- required-2XX-response-content-for-get-operation (OPENAPI3APIMATIC_L464)
- non-empty-response-content-key (OPENAPI3APIMATIC_L465)
OpenAPI Tags Rules
- unique-tag (OPENAPI3APIMATIC_L600)
- alphabetical-global-tags (OPENAPI3APIMATIC_L601)
- at-least-one-tag-reference (OPENAPI3APIMATIC_L602)
- non-empty-tag-name (OPENAPI3APIMATIC_L603)
OpenAPI References Rules
OpenAPI Schemas Rules
- no-equivalent-schema-definitions (OPENAPI3APIMATIC_L660)
- no-schema-circular-reference-loop (OPENAPI3APIMATIC_L661)
- no-inline-complex-schema-definition (OPENAPI3APIMATIC_L662)
- unique-schema-title (OPENAPI3APIMATIC_L663)
- no-schema-default-for-required-parameter (OPENAPI3APIMATIC_L664)
- no-explicit-schema-type-implies-any-type (OPENAPI3APIMATIC_L665)
- int32-schema-format-with-integer-type (OPENAPI3APIMATIC_L666)
- int64-schema-format-with-integer-type (OPENAPI3APIMATIC_L667)
- float-schema-format-with-number-type (OPENAPI3APIMATIC_L668)
- double-schema-format-with-number-type (OPENAPI3APIMATIC_L669)
- byte-schema-format-with-string-type (OPENAPI3APIMATIC_L670)
- binary-schema-format-with-string-type (OPENAPI3APIMATIC_L671)
- no-binary-schema-for-operation-parameter (OPENAPI3APIMATIC_L672)
- no-binary-schema-for-json-request-body-content (OPENAPI3APIMATIC_L673)
- no-binary-schema-for-json-response-content (OPENAPI3APIMATIC_L674)
- date-schema-format-with-string-type (OPENAPI3APIMATIC_L675)
- date-time-schema-format-with-string-type (OPENAPI3APIMATIC_L676)
- password-schema-format-with-string-type (OPENAPI3APIMATIC_L677)
- string-schema-boundaries-defined (OPENAPI3APIMATIC_L678)
- schema-max-length-cannot-be-less-than-min-length (OPENAPI3APIMATIC_L679)
- number-boundaries-defined (OPENAPI3APIMATIC_L680)
- schema-maximum-cannot-be-less-than-minimum (OPENAPI3APIMATIC_L681)
- object-schema-boundaries-defined (OPENAPI3APIMATIC_L682)
- schema-max-properties-cannot-be-less-than-min-properties (OPENAPI3APIMATIC_L683)
- pre-defined-required-schema-property (OPENAPI3APIMATIC_L684)
- non-empty-schema-properties-key (OPENAPI3APIMATIC_L685)
- no-schema-default-for-required-property (OPENAPI3APIMATIC_L687)
- array-schema-boundaries-defined (OPENAPI3APIMATIC_L689)
- schema-max-items-cannot-be-less-than-min-items (OPENAPI3APIMATIC_L690)
- no-inline-enum-schema-definition (OPENAPI3APIMATIC_L692)
- at-least-one-item-in-schema-enum-list (OPENAPI3APIMATIC_L693)
- unique-schema-enum-items (OPENAPI3APIMATIC_L694)
- same-schema-enum-item-type (OPENAPI3APIMATIC_L695)
- non-empty-schema-enum-value (OPENAPI3APIMATIC_L696)
- no-schema-circular-inheritance (OPENAPI3APIMATIC_L697)
- single-discriminator-declaration-in-schema-hierarchy (OPENAPI3APIMATIC_L698)
- non-primitive-any-of-schemas-in-polymorphism (OPENAPI3APIMATIC_L699)
- non-primitive-one-of-schemas-in-polymorphism (OPENAPI3APIMATIC_L700)
- no-base-schema-property-re-declaration (OPENAPI3APIMATIC_L701)
- required-string-type-for-discriminator-schema-property (OPENAPI3APIMATIC_L702)
OpenAPI Discriminators Rules
- non-empty-discriminator-property-name (OPENAPI3APIMATIC_L800)
- pre-defined-schema-property-for-discriminator (OPENAPI3APIMATIC_L801)
- non-empty-discriminator-mapping-key (OPENAPI3APIMATIC_L802)
- unique-discriminator-mapping-key (OPENAPI3APIMATIC_L803)
- non-empty-discriminator-mapping-value (OPENAPI3APIMATIC_L804)
- pre-defined-discriminator-mapping-value-schema (OPENAPI3APIMATIC_L805)
- discriminator-mapping-value-for-each-one-of-schema (OPENAPI3APIMATIC_L806)
- discriminator-mapping-value-for-each-any-of-schema (OPENAPI3APIMATIC_L807)
OpenAPI XML Rules
- required-xml-name-in-parameter-schema (OPENAPI3APIMATIC_L840)
- required-xml-name-in-request-body-content-schema (OPENAPI3APIMATIC_L841)
- required-xml-name-in-response-content-schema (OPENAPI3APIMATIC_L842)
- required-xml-name-in-schema-property (OPENAPI3APIMATIC_L843)
- no-xml-name-in-non-wrapped-array-schema (OPENAPI3APIMATIC_L844)
- xml-wrapped-only-for-array-schema-type (OPENAPI3APIMATIC_L845)
- only-schema-primitive-type-for-xml-attribute-property (OPENAPI3APIMATIC_L846)
- only-schema-properties-can-be-xml-attributes (OPENAPI3APIMATIC_L847)
- no-namespace-for-schema-xml-attribute-property (OPENAPI3APIMATIC_L848)
OpenAPI Security Schemes Rules
- non-empty-api-key-security-parameter-name (OPENAPI3APIMATIC_L870)
- non-empty-scheme-of-http-security-scheme (OPENAPI3APIMATIC_L871)
- required-non-empty-additional-header-name (OPENAPI3APIMATIC_L872)
- non-conflicting-api-key-header-and-additional-header (OPENAPI3APIMATIC_L873)
OpenAPI OAuth 2.0 Flows Rules
- pre-defined-oauth2-authorization-server-in-server-configuration (OPENAPI3APIMATIC_L910)
- pre-defined-oauth2-token-server-in-server-configuration (OPENAPI3APIMATIC_L911)
- non-empty-oauth-flow-scopes-key (OPENAPI3APIMATIC_L912)
- unique-oauth-flow-scopes-key (OPENAPI3APIMATIC_L913)
OpenAPI Security Requirements Rules
- at-least-one-security-mechanism-applied (OPENAPI3APIMATIC_L930)
- unique-security-requirement (OPENAPI3APIMATIC_L931)
- unique-security-requirement-scopes (OPENAPI3APIMATIC_L932)
- pre-defined-security-requirement-scope-in-security-scheme (OPENAPI3APIMATIC_L933)
OpenAPI Vendor Extensions Rules
- supported-vendor-extension (OPENAPI3APIMATIC_L950)
- no-additional-apimatic-vendor-extension-property (OPENAPI3APIMATIC_L951)