// HOW THESE DOCS WORK

Four kinds of docs, depending on what you're here to do.

Concepts, tutorials, how-to guides and reference - pick the mode that matches what you're trying to do.

The http4k technical documentation is designed following the Grand Unified Theory of Documentation. The http4k creators firmly believe that API design should be natural and friendly to the user, so the codebase is not heavily commented - you can implement systems using the http4k APIs from your IDE alone.

The Grand Unified Theory of Documentation: four distinct styles of documentation depending on the reader's mode.

Regardless of which section you're reading, as much of the code as possible exists in the repository and is built with the rest of http4k in our CI. This makes the code a little more verbose (imports and all), but guarantees that it compiles and lets you navigate around to find where everything comes from.

Concepts
learning · theory

http4k is a simple toolkit based around several function types, and the ideas behind it are straightforward to grasp. This section conveys the mindset and rationale behind http4k, and lays out each of the main function types used in the toolkit and how they relate to each other.

Read the concepts →
Tutorials
learning · practice

New libraries are quickest to learn with a guided path. This section contains step-by-step guides that get you comfortable with how things fit together across each of http4k's main conceptual areas - the first tutorial will get you up and running in no time.

Start a tutorial →
How-to guides
working · practice

The meat of the http4k documentation is in this section, in which you'll find ready made solutions to many common use-cases - whatever you're building, there's probably a recipe for it already. Each recipe contains the required Gradle dependencies, a brief description of the problem, and a fully runnable code example.

Browse how-to guides →
Ecosystem references
working · theory

In order to "fly like a butterfly and sting like a bee", http4k is heavily modularised. This section contains more detailed technical notes on the capabilities present in each of the http4k modules. It's more of a "what" than a "why".

Open the reference →

Contribute a recipe

As a community-driven project, we welcome new or updated recipes to make http4k easier to use. Just follow this Markdown template.

Browse how-tos
scarf