Skip to content
Back to skills

Running The Proxy

ASecurity

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.

  • 260 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added August 31, 2026
developmentbashdockerapifrontend

Works with

  • api

Security analysis

A96/100
  • mediumUses curl or wget to download content

Pro shows the line behind each finding and how to fix it

Scanned October 7, 2026

npx -y skills add xberg-io/liter-llm --skill running-the-proxy --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Running The Proxy?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Running The Proxy
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/xberg-io-running-the-proxy/badge)](https://www.skillsdirectory.com/skills/xberg-io-running-the-proxy)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: running-the-proxy
description: 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.
---

# Running the Proxy

`liter-llm api` is a drop-in OpenAI-compatible gateway: 22 REST endpoints that
route to 174 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`.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…