OpenAPI v3 Linting for APIMatic Code Generation
Overview
Linting checks performed by APIMatic on provided OpenAPI v3 file to check its conformance to recommended practices for better code generation experience.
Property | Value |
---|---|
Id | openapi-v3-codegen-linting |
Code | OPENAPI3CODEGEN_L |
Ruleset Type | Linting |
Default Severity of All Rules | Warning |
Rule System | Semantic |
Tags | code generation sdks openapi3 openapi semantic linting apimatic |
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 (OPENAPI3CODEGEN_L001 - OPENAPI3CODEGEN_L049)
- OpenAPI Info (OPENAPI3CODEGEN_L050 - OPENAPI3CODEGEN_L059)
- OpenAPI Contact (OPENAPI3CODEGEN_L060 - OPENAPI3CODEGEN_L069)
- OpenAPI Licenses (OPENAPI3CODEGEN_L070 - OPENAPI3CODEGEN_L089)
- OpenAPI Servers (OPENAPI3CODEGEN_L090 - OPENAPI3CODEGEN_L129)
- OpenAPI Components (OPENAPI3CODEGEN_L130 - OPENAPI3CODEGEN_L159)
- OpenAPI Paths (OPENAPI3CODEGEN_L160 - OPENAPI3CODEGEN_L169)
- OpenAPI Path Items (OPENAPI3CODEGEN_L170 - OPENAPI3CODEGEN_L189)
- OpenAPI Operations (OPENAPI3CODEGEN_L190 - OPENAPI3CODEGEN_L239)
- OpenAPI Operation Settings (OPENAPI3CODEGEN_L240 - OPENAPI3CODEGEN_L339)
- OpenAPI Operation Test Cases (OPENAPI3CODEGEN_L340 - OPENAPI3CODEGEN_L439)
- OpenAPI External Documentation (OPENAPI3CODEGEN_L440 - OPENAPI3CODEGEN_L449)
- OpenAPI Parameters (OPENAPI3CODEGEN_L450 - OPENAPI3CODEGEN_L479)
- OpenAPI Request Body (OPENAPI3CODEGEN_L480 - OPENAPI3CODEGEN_L499)
- OpenAPI Media Types (OPENAPI3CODEGEN_L500 - OPENAPI3CODEGEN_L509)
- OpenAPI Encoding (OPENAPI3CODEGEN_L510 - OPENAPI3CODEGEN_L519)
- OpenAPI Responses (OPENAPI3CODEGEN_L520 - OPENAPI3CODEGEN_L539)
- OpenAPI Callbacks (OPENAPI3CODEGEN_L540 - OPENAPI3CODEGEN_L549)
- OpenAPI Links (OPENAPI3CODEGEN_L550 - OPENAPI3CODEGEN_L559)
- OpenAPI Headers (OPENAPI3CODEGEN_L560 - OPENAPI3CODEGEN_L579)
- OpenAPI Tags (OPENAPI3CODEGEN_L580 - OPENAPI3CODEGEN_L599)
- OpenAPI References (OPENAPI3CODEGEN_L600 - OPENAPI3CODEGEN_L609)
- OpenAPI Schemas (OPENAPI3CODEGEN_L610 - OPENAPI3CODEGEN_L699)
- OpenAPI Discriminators (OPENAPI3CODEGEN_L700 - OPENAPI3CODEGEN_L729)
- OpenAPI XML (OPENAPI3CODEGEN_L730 - OPENAPI3CODEGEN_L739)
- OpenAPI Security Schemes (OPENAPI3CODEGEN_L740 - OPENAPI3CODEGEN_L759)
- OpenAPI OAuth 2.0 Flows (OPENAPI3CODEGEN_L760 - OPENAPI3CODEGEN_L779)
- OpenAPI Security Requirements (OPENAPI3CODEGEN_L780 - OPENAPI3CODEGEN_L799)
- OpenAPI Code Generation Settings (OPENAPI3CODEGEN_L800 - OPENAPI3CODEGEN_L899)
- Miscellaneous (OPENAPI3CODEGEN_L900 - OPENAPI3CODEGEN_L999)
OpenAPI Root Information Rules
OpenAPI Info Rules
OpenAPI Servers Rules
- environment-name-uses-title-case (OPENAPI3CODEGEN_L090)
- maximum-environment-name-length (OPENAPI3CODEGEN_L091)
- required-servers (OPENAPI3CODEGEN_L092)
- at-least-one-server-in-servers-list (OPENAPI3CODEGEN_L093)
- server-name-uses-title-case (OPENAPI3CODEGEN_L094)
- maximum-server-name-length (OPENAPI3CODEGEN_L095)
- server-url-not-example-dot-com (OPENAPI3CODEGEN_L096)
- maximum-server-variables-key-length (OPENAPI3CODEGEN_L097)
- maximum-server-parameter-name-length (OPENAPI3CODEGEN_L098)
OpenAPI Components Rules
- unique-case-insensitive-schema-component-key (OPENAPI3CODEGEN_L130)
- schema-component-key-uses-pascal-case (OPENAPI3CODEGEN_L132)
- no-articles-in-schema-component-key (OPENAPI3CODEGEN_L133)
- no-coordinating-conjunctions-in-schema-component-key (OPENAPI3CODEGEN_L134)
- singular-key-of-non-array-schema-component (OPENAPI3CODEGEN_L135)
- no-enum-postfix-in-enum-schema-component-key (OPENAPI3CODEGEN_L136)
- maximum-schema-component-key-length (OPENAPI3CODEGEN_L137)
OpenAPI Paths Rules
OpenAPI Path Items Rules
- at-least-one-path-item-operation (OPENAPI3CODEGEN_L170)
- path-item-optional-parameters-after-required-parameters (OPENAPI3CODEGEN_L171)
- unique-case-insensitive-path-item-parameter-name (OPENAPI3CODEGEN_L172)
- maximum-path-item-parameter-name-length (OPENAPI3CODEGEN_L173)
OpenAPI Operations Rules
- unique-case-insensitive-operation-id (OPENAPI3CODEGEN_L192)
- operation-id-uses-pascal-case (OPENAPI3CODEGEN_L193)
- no-articles-in-operation-id (OPENAPI3CODEGEN_L194)
- no-coordinating-conjunctions-in-operation-id (OPENAPI3CODEGEN_L195)
- maximum-operation-id-length (OPENAPI3CODEGEN_L196)
- unique-case-insensitive-operation-tag-name (OPENAPI3CODEGEN_L197)
- operation-tag-name-uses-title-case (OPENAPI3CODEGEN_L198)
- no-articles-in-operation-tag-name (OPENAPI3CODEGEN_L199)
- no-coordinating-conjunctions-in-operation-tag-name (OPENAPI3CODEGEN_L200)
- maximum-operation-tag-name-length (OPENAPI3CODEGEN_L201)
- operation-optional-parameters-after-required-parameters (OPENAPI3CODEGEN_L202)
- unique-case-insensitive-operation-parameter-name (OPENAPI3CODEGEN_L203)
- maximum-operation-parameter-name-length (OPENAPI3CODEGEN_L204)
OpenAPI Tags Rules
- unique-case-insensitive-global-tag-name (OPENAPI3CODEGEN_L580)
- tag-name-uses-title-case (OPENAPI3CODEGEN_L581)
- no-articles-in-tag-name (OPENAPI3CODEGEN_L582)
- no-coordinating-conjunctions-in-tag-name (OPENAPI3CODEGEN_L583)
- maximum-tag-name-length (OPENAPI3CODEGEN_L584)
OpenAPI Schemas Rules
- unique-case-insensitive-schema-title (OPENAPI3CODEGEN_L610)
- maximum-schema-title-length (OPENAPI3CODEGEN_L617)
- required-schema-properties-with-object-type (OPENAPI3CODEGEN_L618)
- non-conflicting-schema-property-name-and-schema-key (OPENAPI3CODEGEN_L620)
- non-conflicting-schema-property-name-and-schema-title (OPENAPI3CODEGEN_L621)
- unique-case-insensitive-schema-property-name (OPENAPI3CODEGEN_L622)
- maximum-schema-property-name-length (OPENAPI3CODEGEN_L623)
- enum-elements-count-matches-schema-enum-items-count (OPENAPI3CODEGEN_L629)