Config Options for swift4
| Option | Description | Values | Default | 
|---|---|---|---|
| allowUnicodeIdentifiers | boolean, toggles whether unicode identifiers are allowed in names or not, default is false | false | |
| ensureUniqueParams | Whether to ensure parameter names are unique in an operation (rename parameters that are not). | true | |
| hideGenerationTimestamp | Hides the generation timestamp when files are generated. | true | |
| lenientTypeCast | Accept and cast values for simple types (string->bool, string->int, int->string) | false | |
| nonPublicApi | Generates code with reduced access modifiers; allows embedding elsewhere without exposing non-public API calls to consumers.(default: false) | null | |
| objcCompatible | Add additional properties and methods for Objective-C compatibility (default: false) | null | |
| podAuthors | Authors used for Podspec | null | |
| podDescription | Description used for Podspec | null | |
| podDocsetURL | Docset URL used for Podspec | null | |
| podDocumentationURL | Documentation URL used for Podspec | null | |
| podHomepage | Homepage used for Podspec | null | |
| podLicense | License used for Podspec | null | |
| podScreenshots | Screenshots used for Podspec | null | |
| podSocialMediaURL | Social Media URL used for Podspec | null | |
| podSource | Source information used for Podspec | null | |
| podSummary | Summary used for Podspec | null | |
| podVersion | Version used for Podspec | null | |
| prependFormOrBodyParameters | Add form or body parameters to the beginning of the parameter list. | false | |
| projectName | Project name in Xcode | null | |
| responseAs | Optionally use libraries to manage response. Currently PromiseKit, RxSwift, Result are available. | null | |
| sortModelPropertiesByRequiredFlag | Sort model properties to place required parameters before optional parameters. | true | |
| sortParamsByRequiredFlag | Sort method arguments to place required parameters before optional parameters. | true | |
| swiftUseApiNamespace | Flag to make all the API classes inner-class of {{projectName}}API | null | |
| unwrapRequired | Treat 'required' properties in response as non-optional (which would crash the app if api returns null as opposed to required option specified in json schema | null | 
IMPORT MAPPING
| Type/Alias | Imports | 
|---|
INSTANTIATION TYPES
| Type/Alias | Instantiated By | 
|---|
LANGUAGE PRIMITIVES
- Any
 - AnyObject
 - Bool
 - Character
 - Data
 - Date
 - Decimal
 - Double
 - Float
 - Int
 - Int32
 - Int64
 - String
 - URL
 - UUID
 - Void
 
RESERVED WORDS
- #available
 - #colorLiteral
 - #column
 - #else
 - #elseif
 - #endif
 - #file
 - #fileLiteral
 - #function
 - #if
 - #imageLiteral
 - #line
 - #selector
 - #sourceLocation
 - Any
 - AnyObject
 - Array
 - Bool
 - COLUMN
 - Character
 - Class
 - ClosedRange
 - Codable
 - CountableClosedRange
 - CountableRange
 - Data
 - Decodable
 - Dictionary
 - Double
 - Encodable
 - Error
 - ErrorResponse
 - FILE
 - FUNCTION
 - Float
 - Float32
 - Float64
 - Float80
 - Int
 - Int16
 - Int32
 - Int64
 - Int8
 - LINE
 - OptionSet
 - Optional
 - Protocol
 - Range
 - Response
 - Self
 - Set
 - StaticString
 - String
 - Type
 - UInt
 - UInt16
 - UInt32
 - UInt64
 - UInt8
 - URL
 - Unicode
 - Void
 - _
 - as
 - associatedtype
 - associativity
 - break
 - case
 - catch
 - class
 - continue
 - convenience
 - default
 - defer
 - deinit
 - didSet
 - do
 - dynamic
 - dynamicType
 - else
 - enum
 - extension
 - fallthrough
 - false
 - fileprivate
 - final
 - for
 - func
 - get
 - guard
 - if
 - import
 - in
 - indirect
 - infix
 - init
 - inout
 - internal
 - is
 - lazy
 - left
 - let
 - mutating
 - nil
 - none
 - nonmutating
 - open
 - operator
 - optional
 - override
 - postfix
 - precedence
 - prefix
 - private
 - protocol
 - public
 - repeat
 - required
 - rethrows
 - return
 - right
 - self
 - set
 - static
 - struct
 - subscript
 - super
 - switch
 - throw
 - throws
 - true
 - try
 - typealias
 - unowned
 - var
 - weak
 - where
 - while
 - willSet
 
FEATURE SET
Client Modification Feature
| Name | Supported | Defined By | 
|---|---|---|
| BasePath | ✗ | ToolingExtension | 
| Authorizations | ✗ | ToolingExtension | 
| UserAgent | ✗ | ToolingExtension | 
Data Type Feature
| Name | Supported | Defined By | 
|---|---|---|
| Custom | ✗ | OAS2,OAS3 | 
| Int32 | ✓ | OAS2,OAS3 | 
| Int64 | ✓ | OAS2,OAS3 | 
| Float | ✓ | OAS2,OAS3 | 
| Double | ✓ | OAS2,OAS3 | 
| Decimal | ✓ | ToolingExtension | 
| String | ✓ | OAS2,OAS3 | 
| Byte | ✓ | OAS2,OAS3 | 
| Binary | ✓ | OAS2,OAS3 | 
| Boolean | ✓ | OAS2,OAS3 | 
| Date | ✓ | OAS2,OAS3 | 
| DateTime | ✓ | OAS2,OAS3 | 
| Password | ✓ | OAS2,OAS3 | 
| File | ✓ | OAS2 | 
| Array | ✓ | OAS2,OAS3 | 
| Maps | ✓ | ToolingExtension | 
| CollectionFormat | ✓ | OAS2 | 
| CollectionFormatMulti | ✓ | OAS2 | 
| Enum | ✓ | OAS2,OAS3 | 
| ArrayOfEnum | ✓ | ToolingExtension | 
| ArrayOfModel | ✓ | ToolingExtension | 
| ArrayOfCollectionOfPrimitives | ✓ | ToolingExtension | 
| ArrayOfCollectionOfModel | ✓ | ToolingExtension | 
| ArrayOfCollectionOfEnum | ✓ | ToolingExtension | 
| MapOfEnum | ✓ | ToolingExtension | 
| MapOfModel | ✓ | ToolingExtension | 
| MapOfCollectionOfPrimitives | ✓ | ToolingExtension | 
| MapOfCollectionOfModel | ✓ | ToolingExtension | 
| MapOfCollectionOfEnum | ✓ | ToolingExtension | 
Documentation Feature
| Name | Supported | Defined By | 
|---|---|---|
| Readme | ✗ | ToolingExtension | 
| Model | ✓ | ToolingExtension | 
| Api | ✓ | ToolingExtension | 
Global Feature
| Name | Supported | Defined By | 
|---|---|---|
| Host | ✓ | OAS2,OAS3 | 
| BasePath | ✓ | OAS2,OAS3 | 
| Info | ✓ | OAS2,OAS3 | 
| Schemes | ✗ | OAS2,OAS3 | 
| PartialSchemes | ✓ | OAS2,OAS3 | 
| Consumes | ✓ | OAS2 | 
| Produces | ✓ | OAS2 | 
| ExternalDocumentation | ✓ | OAS2,OAS3 | 
| Examples | ✓ | OAS2,OAS3 | 
| XMLStructureDefinitions | ✗ | OAS2,OAS3 | 
| MultiServer | ✗ | OAS3 | 
| ParameterizedServer | ✗ | OAS3 | 
| ParameterStyling | ✗ | OAS3 | 
| Callbacks | ✗ | OAS3 | 
| LinkObjects | ✗ | OAS3 | 
Parameter Feature
| Name | Supported | Defined By | 
|---|---|---|
| Path | ✓ | OAS2,OAS3 | 
| Query | ✓ | OAS2,OAS3 | 
| Header | ✓ | OAS2,OAS3 | 
| Body | ✓ | OAS2 | 
| FormUnencoded | ✓ | OAS2 | 
| FormMultipart | ✓ | OAS2 | 
| Cookie | ✗ | OAS3 | 
Schema Support Feature
| Name | Supported | Defined By | 
|---|---|---|
| Simple | ✓ | OAS2,OAS3 | 
| Composite | ✓ | OAS2,OAS3 | 
| Polymorphism | ✓ | OAS2,OAS3 | 
| Union | ✗ | OAS3 | 
Security Feature
| Name | Supported | Defined By | 
|---|---|---|
| BasicAuth | ✓ | OAS2,OAS3 | 
| ApiKey | ✓ | OAS2,OAS3 | 
| OpenIDConnect | ✗ | OAS3 | 
| BearerToken | ✗ | OAS3 | 
| OAuth2_Implicit | ✓ | OAS2,OAS3 | 
| OAuth2_Password | ✗ | OAS2,OAS3 | 
| OAuth2_ClientCredentials | ✗ | OAS2,OAS3 | 
| OAuth2_AuthorizationCode | ✗ | OAS2,OAS3 | 
Wire Format Feature
| Name | Supported | Defined By | 
|---|---|---|
| JSON | ✓ | OAS2,OAS3 | 
| XML | ✗ | OAS2,OAS3 | 
| PROTOBUF | ✗ | ToolingExtension | 
| Custom | ✗ | OAS2,OAS3 |