---
title: Build your first API
description: Build an Orders API from your first response through data, sign-in, tests, and production.
pagination: false
sidebar:
  icon: graduation-cap
---

Build an Orders API one step at a time. Each chapter continues the application from the previous chapter, so keep the same project directory.

> **Before you begin**
>
> You need basic TypeScript, a terminal, and Bun 1.3.10 or later. The first request runs locally
> without a database or cloud account.

1. [Create and run an API](/docs/learn/create-an-app). Start the server and receive a greeting.

2. [Add an Orders endpoint](/docs/learn/first-route). Create an order and reject invalid input.

3. [Save orders](/docs/learn/save-orders). Persist and retrieve application data.

4. [Protect orders](/docs/learn/protect-orders). Add sign-in and require a session.

5. [Test the Orders API](/docs/learn/test-orders). Check successful requests and expected failures.

6. [Develop locally](/docs/learn/local-development). Understand validation, reloads, and optional inspection.

7. [Build and run for production](/docs/learn/build-and-run). Run the built server and verify its behavior.

Start with **[Create and run an API](/docs/learn/create-an-app)**.

## Understand the concepts

After you have a working endpoint, use [Core concepts](/docs/learn/concepts) to understand functions, schemas, services, and the application graph. These pages support the tutorial; you can return to them whenever you need an explanation.
