A daily log of product changes, improvements, and new model releases on OpenRouter
POST /api/v1/presets/:slug/responses, and new documentation covers creating and updating presets directly from inference request bodies. Docssession_id sticky routing documentation — Added docs on using session_id to control sticky provider routing, which activates on any successful request rather than requiring a cache hit. Docsoutput_tokens_details.thinking_tokens, providing precise reasoning token counts for Claude Opus 4.8 and later.union_tag_invalid (Python) or invalid_union (TypeScript) validation errors in the OpenAI SDKs./responses and /messages endpoint references alongside /chat/completions, making it easier to discover alternative request formats. DocsPOST /api/v1/presets/:slug/messages, the Anthropic Messages counterpart to the existing chat/completions preset route. Docseu.openrouter.ai now use the correct endpoint path, fixing 400 errors caused by a hostname/path mismatch.GET /api/v1/datasets/rankings-daily endpoint returns the top-50 models by daily token volume, matching the data behind the public rankings chart. SDK reference403 response, upgrading the previous observe-only mode. Docscost_quality_tradeoff parameter — The auto router now accepts a cost_quality_tradeoff integer (0–10) instead of the previous binary tradeoff, giving finer control over the cost-versus-quality balance when routing requests. Docsservice_tier response normalization — API responses now consistently return "default" instead of sometimes "standard" for the base service tier, and explicitly return null when no tier is present. Docsmin_coding_score on every API request.&, <, or > inside tool-call argument JSON now have those entities decoded server-side so downstream clients receive clean arguments..md files with human-readable filenames based on the prompt title and timestamp.openrouter/auto now pin to the same concrete model across requests sharing a session_id, improving prompt cache hit rates for multi-turn conversations.