APIMatic Preliminary Validation
Overview
APIMatic performs some preliminary validation checks on the user-provided API specification document to ensure that it meets the basic requirements for generating a valid output from any of the APIMatic products including API Transformer, SDK/Portal generation, etc.
Property | Value |
---|---|
Id | apimatic-preliminary-validation |
Code | APIMATICPRE_V |
Ruleset Type | Validation |
Default Severity of All Rules | Error |
Rule System | Semantic |
Tags | preliminary checks validation apimatic |
Categories of Rules
- API (APIMATICPRE_V001 - APIMATICPRE_V030)
- Server Configuration (APIMATICPRE_V031 - APIMATICPRE_V045)
- Server Configuration Parameters (APIMATICPRE_V046 - APIMATICPRE_V060)
- Authentication (APIMATICPRE_V061 - APIMATICPRE_V100)
- Endpoints (APIMATICPRE_V101 - APIMATICPRE_V200)
- Endpoint Parameters (APIMATICPRE_V201 - APIMATICPRE_V300)
- Endpoint Responses (APIMATICPRE_V301 - APIMATICPRE_V400)
- Types (APIMATICPRE_V401 - APIMATICPRE_V500)
- Global Types/Models (APIMATICPRE_V501 - APIMATICPRE_V600)
- XML Attributes (APIMATICPRE_V601 - APIMATICPRE_V700)
- Miscellaneous (APIMATICPRE_V701 - APIMATICPRE_V710)
API Rules
- non-null-api (APIMATICPRE_V001)
- unique-role-ids (APIMATICPRE_V002)
- non-conflicting-auth-and-additional-header (APIMATICPRE_V003)
Server Configuration Rules
- predefined-default-environment (APIMATICPRE_V031)
- unique-environment (APIMATICPRE_V032)
- predefined-default-server (APIMATICPRE_V033)
- unique-server (APIMATICPRE_V034)
- same-environment-server-set (APIMATICPRE_V035)
- required-server-url (APIMATICPRE_V036)
Server Configuration Parameters Rules
- predefined-server-template-parameter (APIMATICPRE_V046)
- unique-server-parameter (APIMATICPRE_V047)
- valid-server-parameter-type (APIMATICPRE_V048)
- required-server-parameter-default-value (APIMATICPRE_V049)
- valid-server-parameter-default-value (APIMATICPRE_V050)
- server-parameter-cannot-be-array (APIMATICPRE_V051)
- server-parameter-cannot-be-map-object (APIMATICPRE_V052)
- server-parameter-cannot-be-constant (APIMATICPRE_V053)
Authentication Rules
- required-authentication-parameters (APIMATICPRE_V061)
- authentication-parameters-not-required (APIMATICPRE_V062)
- required-jwt-authentication-parameters (APIMATICPRE_V063)
- required-scope-name (APIMATICPRE_V064)
- required-scope-value (APIMATICPRE_V065)
- unique-scope-name (APIMATICPRE_V066)
- predefined-oauth-2-server (APIMATICPRE_V067)
- required-oauth-2-endpoint-url (APIMATICPRE_V068)
- valid-oauth-2-parameter-format (APIMATICPRE_V069)
- valid-authentication-scheme-name (APIMATICPRE_V070)
- authentication-scheme-referenced-by-auth-option (APIMATICPRE_V071)
- non-null-non-empty-applied-authentication-scheme-name (APIMATICPRE_V072)
- pre-defined-authentication-scheme (APIMATICPRE_V073)
- unique-authentication-option-name (APIMATICPRE_V074)
Endpoints Rules
- predefined-endpoint-server (APIMATICPRE_V101)
- valid-endpoint-relative-route (APIMATICPRE_V102)
- endpoint-group-name-conventions (APIMATICPRE_V103)
- predefined-endpoint-scopes (APIMATICPRE_V104)
- unique-endpoint-scopes (APIMATICPRE_V105)
Endpoint Parameters Rules
- predefined-endpoint-path-template-parameter (APIMATICPRE_V201)
- valid-template-parameter-format (APIMATICPRE_V202)
- no-body-form-parameters-in-non-body-http-methods (APIMATICPRE_V203)
- no-optional-field-parameters-in-non-body-http-methods (APIMATICPRE_V204)
- no-xml-request-body-in-non-body-http-methods (APIMATICPRE_V205)
- required-body-parameter-definition-for-xml-request-endpoint (APIMATICPRE_V206)
- form-and-body-parameters-cannot-coexist (APIMATICPRE_V207)
- multiple-body-parameters (APIMATICPRE_V208)
- valid-parameter-primitive-type (APIMATICPRE_V209)
- valid-dynamic-type-parameter-format (APIMATICPRE_V210)
- valid-file-type-parameter-formats (APIMATICPRE_V211)
- constant-parameter-cannot-be-optional (APIMATICPRE_V212)
Endpoint Responses Rules
- valid-http-status-code-range (APIMATICPRE_V301)
- valid-error-codes (APIMATICPRE_V302)
- predefined-exception-model-for-error (APIMATICPRE_V303)
- unique-error-codes (APIMATICPRE_V304)
- valid-response-content-media-type (APIMATICPRE_V305)
- predefined-default-success-response (APIMATICPRE_V306)
- valid-predefined-default-success-response-type (APIMATICPRE_V307)
- valid-streaming-endpoint-response-type (APIMATICPRE_V308)
- valid-response-primitive-type (APIMATICPRE_V309)
Types Rules
- required-entity-type (APIMATICPRE_V401)
- only-predefined-type-as-type-reference (APIMATICPRE_V402)
- native-primitive-type (APIMATICPRE_V403)
- required-default-value-for-constant-entity (APIMATICPRE_V404)
- supported-default-value (APIMATICPRE_V405)
- exception-model-only-for-error (APIMATICPRE_V406)
- dynamic-entity-cannot-be-array (APIMATICPRE_V407)
- type-combinator-cases-meta-count-must-match (APIMATICPRE_V408)
- valid-global-type-combinators-reference-name (APIMATICPRE_V409)
Global Types/Models Rules
- unique-model-name (APIMATICPRE_V501)
- same-model-and-base-model-implementation-type (APIMATICPRE_V502)
- required-discriminator-field (APIMATICPRE_V503)
- valid-discriminator-field (APIMATICPRE_V504)
- single-declaration-of-discriminator (APIMATICPRE_V505)
- model-circular-inheritance (APIMATICPRE_V506)
- unique-discriminator-value (APIMATICPRE_V507)
- required-discriminator-value (APIMATICPRE_V508)
- required-discriminator-with-discriminator-value (APIMATICPRE_V509)
- no-enum-base-type (APIMATICPRE_V510)
- valid-custom-type-field-primitive-type (APIMATICPRE_V511)
- atleast-one-enum-field (APIMATICPRE_V512)
- unique-enum-fields (APIMATICPRE_V513)
- valid-enum-field-types (APIMATICPRE_V514)
- enum-field-cannot-be-array (APIMATICPRE_V515)
- required-enum-default-value (APIMATICPRE_V516)
- valid-numeric-enum-default-value (APIMATICPRE_V517)
- field-read-only-and-write-only-mutual-exclusiveness (APIMATICPRE_V518)
- non-empty-global-type-combinators-key (APIMATICPRE_V581)
- global-type-combinators-id-exists (APIMATICPRE_V582)
- unique-global-type-combinators-id (APIMATICPRE_V583)
- non-empty-discriminator-mapping-key (APIMATICPRE_V584)
- discriminator-mapping-value-a-valid-model-name (APIMATICPRE_V585)
- required-discriminator-with-discriminator-mapping (APIMATICPRE_V586)
- discriminator-mapping-values-for-all-involved-models (APIMATICPRE_V587)
- all-model-types-in-type-combinator-with-discriminator (APIMATICPRE_V588)
- no-circular-reference-in-global-type-combinators-definition (APIMATICPRE_V589)
XML Attributes Rules
- valid-xml-name-conventions (APIMATICPRE_V601)
- required-node-name-for-xml-entity (APIMATICPRE_V602)
- only-scalar-types-for-xml-attribute (APIMATICPRE_V603)
- xml-attribute-cannot-be-array-or-map (APIMATICPRE_V604)
- no-namespace-for-xml-attribute (APIMATICPRE_V605)
- no-xml-wrapping-for-non-array-entity (APIMATICPRE_V606)
- entity-cannot-be-xml-attribute (APIMATICPRE_V607)