> ## Documentation Index
> Fetch the complete documentation index at: https://feather.mupeni.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Delivery API Overview

> The edge evaluation API — sub-millisecond flag resolution served from an in-memory cache.

The **Delivery API** runs at `https://fly.feather.mupeni.dev`. It is optimized for flag evaluation on the hot path: every evaluation is served from an in-memory cache with at most two cache reads on cold start.

This API is used exclusively by the [SDK](/docs/quickstart#5-evaluate-the-flag). You do not need to call it directly.

## Endpoints

* [POST /v1/evaluate](/docs/api-reference/delivery/evaluate-flag)
* [POST /v1/evaluate/bulk](/docs/api-reference/delivery/evaluate-flags-bulk)

## How it differs from the Management API

|           | Management API                                     | Delivery API                     |
| --------- | -------------------------------------------------- | -------------------------------- |
| Base URL  | `https://nest.feather.mupeni.dev`                  | `https://fly.feather.mupeni.dev` |
| Purpose   | CRUD — create flags, manage config, view analytics | Evaluate flags on the edge       |
| Auth      | Server key, client key, or session cookie          | Server key or client key only    |
| Latency   | \~50–150ms (cold path)                             | \<5ms (cached)                   |
| Called by | Dashboard, CI, admin scripts                       | SDKs                             |

## Auth

API key in `Authorization: Bearer <key>`. Session cookies are not accepted.

* **Server keys** (`sk_...`) — evaluate any flag, including non-`clientSafe` ones.
* **Client keys** (`pk_...`) — evaluate only flags with `clientSafe: true`.

## Cold start path

On the first request to a new worker instance, the runtime makes at most **two cache reads**:

1. Resolve `orgId` + `environmentId` from the API key
2. Load the full flag bundle for the environment

The bundle is cached in memory for **30 seconds**. All subsequent evaluations within the same instance lifetime hit only the in-memory cache.

## Flag bundle

The flag bundle is a JSON object of `flagKey → FlagConfig`. It is updated automatically on every Management API config change and can be manually refreshed via [Trigger Sync](/docs/api-reference/sync/trigger-sync).

## Evaluation reasons

See [Evaluation](/docs/concepts/evaluation) for the full list of reasons and how they're produced.
