Package-level declarations

Types

Link copied to clipboard
annotation class KeelApi(val summary: String = "", val description: String = "", val tags: Array<String> = [], val successStatus: Int = 200, val errorStatuses: IntArray = [], val responseEnvelope: Boolean = false)

Primary annotation for documenting Ktor route handlers in Keel.

Link copied to clipboard

DSL marker class holding OpenAPI response metadata for a route handler. These functions are no-ops at runtime and only serve route-documentation metadata.

Functions

Link copied to clipboard
inline fun <Res : Any> Route.documentedDelete(path: String = "", summary: String = "", description: String = "", tags: List<String> = emptyList(), successStatus: Int = 200, errorStatuses: Set<Int> = emptySet(), responseEnvelope: Boolean = false, noinline body: suspend RoutingContext.() -> Unit)
Link copied to clipboard
inline fun <Res : Any> Route.documentedGet(path: String = "", summary: String = "", description: String = "", tags: List<String> = emptyList(), successStatus: Int = 200, errorStatuses: Set<Int> = emptySet(), responseEnvelope: Boolean = false, noinline body: suspend RoutingContext.() -> Unit)
Link copied to clipboard
@JvmName(name = "documentedPostWithoutRequest")
inline fun <Res : Any> Route.documentedPost(path: String = "", summary: String = "", description: String = "", tags: List<String> = emptyList(), successStatus: Int = 200, errorStatuses: Set<Int> = emptySet(), responseEnvelope: Boolean = false, noinline body: suspend RoutingContext.() -> Unit)
inline fun <Req : Any, Res : Any> Route.documentedPost(path: String = "", summary: String = "", description: String = "", tags: List<String> = emptyList(), successStatus: Int = 200, errorStatuses: Set<Int> = emptySet(), responseEnvelope: Boolean = false, noinline body: suspend RoutingContext.() -> Unit)
Link copied to clipboard
inline fun <Req : Any, Res : Any> Route.documentedPut(path: String = "", summary: String = "", description: String = "", tags: List<String> = emptyList(), successStatus: Int = 200, errorStatuses: Set<Int> = emptySet(), responseEnvelope: Boolean = false, noinline body: suspend RoutingContext.() -> Unit)
Link copied to clipboard
fun Routing.pluginApi(pluginId: String, block: Route.() -> Unit)

DSL wrapper for plugin API routes. Automatically prefixes all nested routes with /api/plugins/{pluginId}.

Link copied to clipboard
fun Route.systemApi(block: Route.() -> Unit)

DSL wrapper for system API routes. Automatically prefixes all nested routes with /api/_system.

Link copied to clipboard
inline fun <Res : Any> Route.typedDelete(path: String = "", doc: OpenApiDoc = OpenApiDoc(), noinline body: suspend RoutingContext.() -> Unit)
Link copied to clipboard
inline fun <Res : Any> Route.typedGet(path: String = "", doc: OpenApiDoc = OpenApiDoc(), noinline body: suspend RoutingContext.() -> Unit)
Link copied to clipboard
@JvmName(name = "typedPostWithoutRequest")
inline fun <Res : Any> Route.typedPost(path: String = "", doc: OpenApiDoc = OpenApiDoc(), noinline body: suspend RoutingContext.() -> Unit)
inline fun <Req : Any, Res : Any> Route.typedPost(path: String = "", doc: OpenApiDoc = OpenApiDoc(), noinline body: suspend RoutingContext.() -> Unit)
Link copied to clipboard
inline fun <Req : Any, Res : Any> Route.typedPut(path: String = "", doc: OpenApiDoc = OpenApiDoc(), noinline body: suspend RoutingContext.() -> Unit)
Link copied to clipboard
fun Route.typedRoute(path: String, block: Route.() -> Unit)