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.