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: truenames its sources:sourceson/v1/chat/completionsand/v1/messageslists the results the model was given, and on/v1/chat/completionsannotationsmarks where the answer cites each one. Built-in Web Search
- New
web_search: trueon/v1/chat/completionsand/v1/messagesruns 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-1answers on/v1/responsesas it does on the other two endpoints. CLI coding tools - Fixed
A rotated API key stops working at once.
- New
POST /v1/tokenizeandPOST /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
usageon all three endpoints:prompt_tokens_details.cached_tokens,input_tokens_details.cached_tokensandcache_read_input_tokens.GET /v1/modelsreportspricing.cached_input_per_million_usdandcapabilities.prompt_cachingfor these models. Prompt caching - Fixed
Hosted open-weight models: a forced
tool_choice(requiredor a named function) yields a tool call. Function Calling - Fixed
Hosted open-weight models accept a
systemmessage 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.comcarry the two addresses in theOnion-LocationandX-I2P-Locationheaders. Encrypted, Tor & I2P endpoints
- New
New models
shannon-3.1andshannon-3.1-pro, listed byGET /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/responsesappear in the usage log.
- New
Hosted open-weight models apply the sampling fields:
temperature,top_p,seed,stopandmax_tokenson/v1/chat/completions;temperature,top_pandstop_sequenceson/v1/messages;temperature,top_pandmax_output_tokenson/v1/responses. Chat Completions - New
The usage log shows a cost in USD for each call and as a total.
- Breaking
A
modelvalue that is not a published id is answered with400, the typeinvalid_request_errorand the messageunknown model: <id>on all three endpoints. Before, such a request was answered byshannon-1.6-lite. Models & pricing - Breaking
/v1takes 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 with503and the typeapi_error. Error Handling - Fixed
A non-streamed request that fails gives its reservation back to your balance.
- New
GET /v1/modelsreportscapabilities.reasoning_effortfor each model. Reasoning effort - Improved
Hosted open-weight models: a non-streamed request that gets no answer ends with
504and the typeapi_error. An empty result is502. 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
400and<id> does not accept image input.response_formaton an id without structured output is answered with400.GET /v1/modelsreportscapabilities.vision,response_formatandjson_schemafor each id. Images and files - Fixed
Non-streamed replies carry the reasoning text:
reasoning_contenton the message of/v1/chat/completions, and athinkingblock 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.1andshannon-3.1-pro.GET /v1/modelsreportscapabilities.json_schema: truefor them. Structured Outputs - New
/v1/responsesreadstext.format(json_objectorjson_schema) for structured output. Responses API - Fixed
/v1/responsesreturns the reasoning of the Shannon models: areasoningoutput item before themessageitem, and the stream eventsresponse.reasoning_summary_text.deltaandresponse.reasoning_summary_text.done. Responses API - Fixed
The
modelfield of a reply is the published id on every endpoint. A Responses object carriesmodelandcreated_at. - Improved
GET /v1/modelsreports the context window of each model. Models & pricing
- New
Hosted open-weight models answer on
/v1/messagesand/v1/responsesas well as on/v1/chat/completions, with your system prompt and tool calls./v1/messagestakesthinking, andreasoning_effortis a request field. Models & pricing - Improved
Error bodies on
/v1follow the SDK shapes: anerrorobject withtypeandmessageon 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
: pingcomment line on/v1/chat/completions, anevent: pingon/v1/messages. Streaming - Changed
Tool call ids start with
call_on/v1/chat/completionsand/v1/responses, and withtoolu_on/v1/messages. Function Calling - Breaking
/v1/responses:streamdefaults tofalse. Responses API - New
max_completion_tokensis accepted as another name formax_tokenson/v1/chat/completions. Chat Completions - Fixed
The
response.completedevent of a Responses stream carries theoutputarray. Responses API - New
GET /v1/modelsentries carrydisplay_name,context_window,max_output_tokens,pricing,capabilitiesandendpoints. 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_urlparts on/v1/chat/completions,image,documentandfileblocks on/v1/messages,input_imageparts on/v1/responses. Images and files - New
New model
shannon-3-pro. Models & pricing
- New
New model
shannon-3. Models & pricing - New
Streams on
/v1/chat/completionscarry the reasoning asdelta.reasoning_content. Reasoning effort
- Changed
max_tokensis kept within 1 to 65,536. A value outside that range is brought to the nearest end, not refused. Chat Completions
- New
shannon-coder-1is counted in calls per plan on/v1/chat/completionsand/v1/messages. When the calls of a window are used up, the reply is429with the messageShannon Coder call quota reached. CLI coding tools - New
A conversation larger than the context window is answered with
400, the typeinvalid_request_errorand the codecontext_length_exceeded. An error inside a stream arrives as an error event, not as text in the answer. CLI coding tools
- New
The
/v1endpoints:POST /v1/chat/completions,POST /v1/messages,POST /v1/responsesandGET /v1/models. They are the endpoints the OpenAI and Anthropic SDKs, Claude Code and Codex CLI call. Overview - New
Tool calls with
toolson/v1/chat/completionsand/v1/messages, structured output withresponse_format, andsystemas a string or as text blocks on/v1/messages. Function Calling
- New
Model ids
shannon-1.6-pro,shannon-2-lite,shannon-2-proandshannon-coder-1, next toshannon-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