POST https://api.naga.ac/v1/messages accepts the Anthropic Messages format and serves every chat model in the catalog, not only Claude. Point the Anthropic SDK at https://api.naga.ac, without /v1. The key works as x-api-key, the SDK default, or as Authorization: Bearer.
max_tokens is required, as in the official API. NagaAI accepts mid-conversation system messages with text content only; any other block in them fails with 400. NagaAI errors use Anthropic’s error types by status: authentication_error for 401, billing_error for 402, not_found_error for 404, rate_limit_error for 429. NagaAI ignores the anthropic-version and anthropic-beta headers, so you can leave them out.
Structured output
output_config.format with {"type": "json_schema", "schema": {...}} asks for JSON that matches the schema. The JSON comes back in the first text block. See Structured outputs.
What NagaAI adds
routingin the body and thex-naga-routing-strategyheader, see Routing.imageblocks in the response from models that draw.search_context_sizeandexternal_web_accesson the web search tool, see Web search.
What NagaAI ignores or refuses
cache_control, at the top level and on blocks. There are no explicit cache breakpoints.service_tier,container,mcp_servers,context_management,inference_geoandthinking.display.is_errorontool_resultblocks. Say that the tool failed in the result text.- Audio blocks fail with
400. POST /v1/messages/count_tokensand the batches API return404.