Quickstart
Your request format doesn’t change. Only the base URL does.
Step 1
Create an API key
Sign up, then create a key from
/app/keys. It starts sandboxed - swap to a live key when you’re ready.Step 2
Swap your base URL
# Before
curl https://api.openai.com/v1/chat/completions ...
# After
curl https://llm11.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_LLM11_KEY" \
-H "Content-Type: application/json" \
-d '{
"messages": [{"role": "user", "content": "Summarize this in one sentence."}]
}'Step 3
Pass context to unlock groundedness checking
curl https://llm11.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_LLM11_KEY" \
-H "Content-Type: application/json" \
-d '{
"context": "Refunds are issued within 5 business days of a qualifying cancellation.",
"messages": [{"role": "user", "content": "How long does a refund take?"}]
}'Omit context and that check simply doesn’t run - nothing else changes.
Step 4
Read the receipt
Every response includes an
_llm11 block and matching x-llm11-* response headers: model used, verdict, cost, and what your declared baseline model would have cost for the same tokens.Using an Anthropic SDK instead? Point it at https://llm11.com/v1/messages - same key, same behaviour. Full reference: /docs/api.