Skip to content
Changelog

Changelog

Recent updates and improvements to the Shannon API.

This page lists the changes you can observe as a caller of the API: new endpoints, fields and models, changed behaviour and fixes. The newest entries come first. Each entry carries the date the change was made.

An entry marked Breaking can change the result of a request that worked before. The API has one version, /v1, so changes are listed by date and not by version number.

  • New

    A request with web_search: true names its sources: sources on /v1/chat/completions and /v1/messages lists the results the model was given, and on /v1/chat/completions annotations marks where the answer cites each one. Built-in Web Search

  • New

    web_search: true on /v1/chat/completions and /v1/messages runs a web search before the model answers and gives it the results as numbered sources. A request that found results uses one search of your daily allowance. With none left, the request is answered without search. Built-in Web Search

  • Fixed

    A stream that is cut on the server side is billed for the usage reported up to that point. The rest of the reservation returns to your balance.

  • Fixed

    shannon-coder-1 answers on /v1/responses as it does on the other two endpoints. CLI coding tools

  • Fixed

    A rotated API key stops working at once.

  • New

    POST /v1/tokenize and POST /v1/messages/count_tokens: free token counts for the hosted open-weight models. Token counting

  • New

    Prompt caching on the hosted open-weight models. Cached input is billed at 25% of the input price and reported in usage on all three endpoints: prompt_tokens_details.cached_tokens, input_tokens_details.cached_tokens and cache_read_input_tokens. GET /v1/models reports pricing.cached_input_per_million_usd and capabilities.prompt_caching for these models. Prompt caching

  • Fixed

    Hosted open-weight models: a forced tool_choice (required or a named function) yields a tool call. Function Calling

  • Fixed

    Hosted open-weight models accept a system message that is not the first message of the conversation.

  • New

    The API is reachable as a Tor onion service and at an I2P address. Replies of api.shannon-ai.com carry the two addresses in the Onion-Location and X-I2P-Location headers. Encrypted, Tor & I2P endpoints

  • New

    New models shannon-3.1 and shannon-3.1-pro, listed by GET /v1/models. Models & pricing

  • Changed

    A streamed request whose client disconnects runs to its end and is counted. Before, the answer stopped at the disconnect.

  • Fixed

    Requests to /v1/responses appear in the usage log.

  • New

    Hosted open-weight models apply the sampling fields: temperature, top_p, seed, stop and max_tokens on /v1/chat/completions; temperature, top_p and stop_sequences on /v1/messages; temperature, top_p and max_output_tokens on /v1/responses. Chat Completions

  • New

    The usage log shows a cost in USD for each call and as a total.

  • Breaking

    A model value that is not a published id is answered with 400, the type invalid_request_error and the message unknown model: <id> on all three endpoints. Before, such a request was answered by shannon-1.6-lite. Models & pricing

  • Breaking

    /v1 takes an API key only. A sign-in cookie of the website is not read there. Authentication

  • Changed

    Flood protection: 120 requests per minute per account on the three generation endpoints. Limits and balance

  • Improved

    When the model cannot answer, the error carries the fixed message The model backend failed to answer. Please retry. A balance check that cannot be made is answered with 503 and the type api_error. Error Handling

  • Fixed

    A non-streamed request that fails gives its reservation back to your balance.

  • New

    GET /v1/models reports capabilities.reasoning_effort for each model. Reasoning effort

  • Improved

    Hosted open-weight models: a non-streamed request that gets no answer ends with 504 and the type api_error. An empty result is 502. Error Handling

  • Breaking

    Hosted open-weight models take the input the named model takes. An image sent to a text-only id is answered with 400 and <id> does not accept image input. response_format on an id without structured output is answered with 400. GET /v1/models reports capabilities.vision, response_format and json_schema for each id. Images and files

  • Fixed

    Non-streamed replies carry the reasoning text: reasoning_content on the message of /v1/chat/completions, and a thinking block before the text on /v1/messages. Reasoning effort

  • Changed

    Hosted open-weight models have new prices, from $0.50 per 1M input tokens and $2.00 per 1M output tokens. Models & pricing

  • Changed

    Hosted open-weight models have one id per model, twelve ids in all. Models & pricing

  • New

    Structured output on shannon-3, shannon-3-pro, shannon-3.1 and shannon-3.1-pro. GET /v1/models reports capabilities.json_schema: true for them. Structured Outputs

  • New

    /v1/responses reads text.format (json_object or json_schema) for structured output. Responses API

  • Fixed

    /v1/responses returns the reasoning of the Shannon models: a reasoning output item before the message item, and the stream events response.reasoning_summary_text.delta and response.reasoning_summary_text.done. Responses API

  • Fixed

    The model field of a reply is the published id on every endpoint. A Responses object carries model and created_at.

  • Improved

    GET /v1/models reports the context window of each model. Models & pricing

  • New

    Hosted open-weight models answer on /v1/messages and /v1/responses as well as on /v1/chat/completions, with your system prompt and tool calls. /v1/messages takes thinking, and reasoning_effort is a request field. Models & pricing

  • Improved

    Error bodies on /v1 follow the SDK shapes: an error object with type and message on the OpenAI-format endpoints, and the same object inside {"type": "error"} on /v1/messages. Error Handling

  • New

    Keep-alive on open streams every 15 seconds: a : ping comment line on /v1/chat/completions, an event: ping on /v1/messages. Streaming

  • Changed

    Tool call ids start with call_ on /v1/chat/completions and /v1/responses, and with toolu_ on /v1/messages. Function Calling

  • Breaking

    /v1/responses: stream defaults to false. Responses API

  • New

    max_completion_tokens is accepted as another name for max_tokens on /v1/chat/completions. Chat Completions

  • Fixed

    The response.completed event of a Responses stream carries the output array. Responses API

  • New

    GET /v1/models entries carry display_name, context_window, max_output_tokens, pricing, capabilities and endpoints. Models & pricing

  • New

    Every reply carries x-request-id, and a value you send is returned. Request bodies can be up to 32 MiB.

  • New

    A key can be revoked without a new one being issued. The usage log is paged.

  • New

    Images and documents in requests: image_url parts on /v1/chat/completions, image, document and file blocks on /v1/messages, input_image parts on /v1/responses. Images and files

  • New

    New model shannon-3-pro. Models & pricing

  • Changed

    max_tokens is kept within 1 to 65,536. A value outside that range is brought to the nearest end, not refused. Chat Completions

  • New

    shannon-coder-1 is counted in calls per plan on /v1/chat/completions and /v1/messages. When the calls of a window are used up, the reply is 429 with the message Shannon Coder call quota reached. CLI coding tools

  • New

    A conversation larger than the context window is answered with 400, the type invalid_request_error and the code context_length_exceeded. An error inside a stream arrives as an error event, not as text in the answer. CLI coding tools

  • New

    The /v1 endpoints: POST /v1/chat/completions, POST /v1/messages, POST /v1/responses and GET /v1/models. They are the endpoints the OpenAI and Anthropic SDKs, Claude Code and Codex CLI call. Overview

  • New

    Tool calls with tools on /v1/chat/completions and /v1/messages, structured output with response_format, and system as a string or as text blocks on /v1/messages. Function Calling

  • New

    Model ids shannon-1.6-pro, shannon-2-lite, shannon-2-pro and shannon-coder-1, next to shannon-1.6-lite. Models & pricing

  • New

    First release of the API: chat in the OpenAI format and in the Anthropic format, and a Responses endpoint, each called with an API key that starts with sk-. Authentication