Messages shape. SDKs and Claude Code take the origin as the base URL. The path is still /v1/messages.
Use the Kasva kv_… key, not a provider sk-ant-…. If both Bearer and x-api-key are sent, Bearer wins. The anthropic-version header is optional.
curl https://kasva.dev/v1/messages \
-H "x-api-key: YOUR_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{"model":"kasva/auto","max_tokens":1024,"messages":[{"role":"user","content":"Hello"}]}'OpenAI shape: OpenAI. Full path list: API reference.