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)