---
title: Config Options for kotlin
sidebar_label: kotlin
---
| Option | Description | Values | Default |
| ------ | ----------- | ------ | ------- |
|sourceFolder|source folder for generated code| |src/main/kotlin|
|packageName|Generated artifact package name.| |org.openapitools.client|
|apiSuffix|suffix for api classes| |Api|
|groupId|Generated artifact package's organization (i.e. maven groupId).| |org.openapitools|
|artifactId|Generated artifact id (name of jar).| |kotlin-client|
|artifactVersion|Generated artifact's package version.| |1.0.0|
|enumPropertyNaming|Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'| |camelCase|
|serializationLibrary|What serialization library to use: 'moshi' (default), or 'gson'| |moshi|
|parcelizeModels|toggle "@Parcelize" for generated models| |null|
|serializableModel|boolean - toggle "implements Serializable" for generated models| |null|
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |null|
|sortModelPropertiesByRequiredFlag|Sort model properties to place required parameters before optional parameters.| |null|
|modelMutable|Create mutable models| |false|
|dateLibrary|Option. Date library to use|
- **threetenbp-localdatetime**
- Threetenbp - Backport of JSR310 (jvm only, for legacy app only)
- **string**
- String
- **java8-localdatetime**
- Java 8 native JSR310 (jvm only, for legacy app only)
- **java8**
- Java 8 native JSR310 (jvm only, preferred for jdk 1.8+)
- **threetenbp**
- Threetenbp - Backport of JSR310 (jvm only, preferred for jdk < 1.8)
|java8|
|collectionType|Option. Collection type to use|- **array**
- kotlin.Array
- **list**
- kotlin.collections.List
|array|
|library|Library template (sub-template) to use|- **jvm-okhttp4**
- [DEFAULT] Platform: Java Virtual Machine. HTTP client: OkHttp 4.2.0 (Android 5.0+ and Java 8+). JSON processing: Moshi 1.8.0.
- **jvm-okhttp3**
- Platform: Java Virtual Machine. HTTP client: OkHttp 3.12.4 (Android 2.3+ and Java 7+). JSON processing: Moshi 1.8.0.
- **jvm-retrofit2**
- Platform: Java Virtual Machine. HTTP client: Retrofit 2.6.2.
- **multiplatform**
- Platform: Kotlin multiplatform. HTTP client: Ktor 1.2.4. JSON processing: Kotlinx Serialization: 0.12.0.
|jvm-okhttp4|
|requestDateConverter|JVM-Option. Defines in how to handle date-time objects that are used for a request (as query or parameter)|- **toJson**
- Date formater option using a json converter.
- **toString**
- [DEFAULT] Use the 'toString'-method of the date-time object to retrieve the related string representation.
|toString|
## IMPORT MAPPING
| Type/Alias | Imports |
| ---------- | ------- |
|LocalDateTime|java.time.LocalDateTime|
|LocalTime|java.time.LocalTime|
|UUID|java.util.UUID|
|URI|java.net.URI|
|File|java.io.File|
|Timestamp|java.sql.Timestamp|
|LocalDate|java.time.LocalDate|
|BigDecimal|java.math.BigDecimal|
|Date|java.util.Date|
|DateTime|java.time.LocalDateTime|
## INSTANTIATION TYPES
| Type/Alias | Instantiated By |
| ---------- | --------------- |
|array|kotlin.arrayOf|
|list|kotlin.arrayOf|
|map|kotlin.mapOf|
## LANGUAGE PRIMITIVES
- kotlin.collections.List
- kotlin.Float
- kotlin.Double
- kotlin.String
- kotlin.Array
- kotlin.Byte
- kotlin.collections.Map
- kotlin.Short
- kotlin.Boolean
- kotlin.Long
- kotlin.Char
- kotlin.ByteArray
- kotlin.Int
- kotlin.collections.Set
## RESERVED WORDS
- for
- do
- interface
- while
- when
- continue
- else
- typealias
- class
- if
- typeof
- val
- package
- break
- in
- var
- false
- this
- is
- super
- as
- null
- throw
- true
- try
- fun
- return
- object