# Running The Proxy

> Use when running the `liter-llm api` OpenAI-compatible gateway — virtual keys, per-key rate limits, budgets, cost tracking, and model routing. Covers the TOML config and the 22 REST endpoints.

- Skill: `kreuzberg-dev/running-the-proxy` (Agent Skill)
- Install (CLI): `npx skillmds@latest add kreuzberg-dev/running-the-proxy`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kreuzberg-dev/running-the-proxy/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: kreuzberg-dev (https://skillmd.com/u/kreuzberg-dev)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/kreuzberg-dev/running-the-proxy

---


<!--
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
Content-Hash: blake3:c116c87cc47e287a604e874041bfbf9fd6c4da4206035b9f9943563df1a3ce4b
Source-Hash: blake3:994b83e19a30ce07bfdfeb4caf56e995dc024de32e00f13b45cd995d0e441086
Schema-Version: v1
-->

# Running the Proxy

`liter-llm api` is a drop-in OpenAI-compatible gateway: 22 REST endpoints that
route to 143 providers, with multi-tenant virtual keys, rate limits, budgets,
and cost tracking.

## Start it

```bash
liter-llm api --config liter-llm-proxy.toml
```

The proxy auto-discovers `liter-llm-proxy.toml` in the current directory.

## Configuration

```toml
[server]
host = "0.0.0.0"
port = 4000

[general]
master_key = "${LITER_LLM_MASTER_KEY}"

# Each [[models]] entry maps a routable name to a provider/model and its key.
[[models]]
name = "gpt-4o"
provider_model = "openai/gpt-4o"
api_key = "${OPENAI_API_KEY}"

[[models]]
name = "claude-sonnet"
provider_model = "anthropic/claude-sonnet-4-20250514"
api_key = "${ANTHROPIC_API_KEY}"

# Virtual keys scope which configured model names a caller may use.
[[keys]]
key = "sk-team-frontend"
models = ["gpt-4o", "claude-sonnet"]
rpm = 60
tpm = 100000
budget_limit = 50.0
```

`${ENV_VAR}` interpolation keeps secrets out of the file.

## Call it like OpenAI

```bash
curl http://localhost:4000/v1/chat/completions \
  -H "Authorization: Bearer sk-team-frontend" \
  -d '{"model": "gpt-4o", "messages": [{"role": "user", "content": "Hello"}]}'
```

## Notes

- Virtual keys scope which models a caller may use and carry their own RPM/TPM
  and budget limits; the `master_key` administers them.
- The OpenAPI 3.1 spec is served at `/openapi.json`.
- Endpoints cover chat, embeddings, images, audio, moderations, files, batches,
  responses, and model listing.
- Docker: `docker run -p 4000:4000 -e LITER_LLM_MASTER_KEY=sk-key ghcr.io/xberg-io/liter-llm`.

