# custom

fun custom(customType: [String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)): [Interaction](/developers/references/android/id-frak-sdk-tracking/interaction/)

Anything the three built-in shapes do not cover. customType is free-form; the route's schema is the authority, so an unrecognised value comes back as a 4xx.

fun custom(customType: [String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html), data: [Map](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html)&lt;[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html), [String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)&gt;): [Interaction](/developers/references/android/id-frak-sdk-tracking/interaction/)

data is sent verbatim as the event's `data` object.

fun custom(customType: [String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html), data: [Map](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-map/index.html)&lt;[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html), [String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)&gt;, idempotencyKey: [String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)?): [Interaction](/developers/references/android/id-frak-sdk-tracking/interaction/)

#### Parameters

android

| | |
|---|---|
| idempotencyKey | overrides the key the SDK stamps at enqueue. |