Quickstart
1. Create a platform key on the API Keys page. 2. Point anything below at the gateway. One model — juvat-1 — with -fast, -auto, and -max modes.
curl
curl -L https://www.juvat.app/api/v1/chat/completions \
-H "Authorization: Bearer $JUVAT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "juvat-1", "messages": [{"role": "user", "content": "Hello"}]}'juvat code — the coding agent
A terminal coding agent locked to juvat-1: it plans, edits files, and runs commands in your repository, and each turn bills to the same ledger as chat and the API.
curl -fsSL https://www.juvat.app/install.sh | sh # macOS / Linux iex (irm https://www.juvat.app/install.ps1) # Windows PowerShell juvat-code # open the agent in the current repo juvat-code run "fix the failing test" # one-shot, non-interactive
juvat CLI
juvat login --key fg_... juvat chat "explain this error" --mode fast juvat setup <tool> # print config for your editor or agent
Any editor, agent, or tool with a custom endpoint
Anything that accepts a custom chat-completions endpoint works. In your tool's model/provider settings: Base URL: https://www.juvat.app/api/v1 API key: your fg_ platform key Model IDs: juvat-1, juvat-1-fast, juvat-1-auto, juvat-1-max Streaming and non-streaming are both supported. For an exact config snippet, run `juvat setup <tool>` from the CLI.
Errors follow the standard shape: 401 bad key · 402 balance/limit · 403 policy · 429 rate limit (respect Retry-After) · 503 paused. Responses include x-juvat-billed-cents and x-juvat-balance-cents on non-streaming requests.