← ClaudeAtlas

messages-apilisted

Reference for the Anthropic Messages API (/v1/messages) as a third-party compatibility protocol — the 7 inference servers that implement it natively (vLLM, SGLang, llama.cpp, Ollama, mistral.rs, Llama Stack/OGX, Lemonade), gateways that adapt it (LiteLLM, Bifrost, Superagent Gateway), client behavior (Claude Code, opencode anthropic provider), Messages ↔ Chat Completions translation, the thinking-signature seam, stop_reason divergences, and streaming quirks. NOT for official Anthropic API usage (models, pricing, SDK) — that is the claude-api skill.
air-gapped/skills · ★ 5 · AI & Automation · score 78
Install: claude install-skill air-gapped/skills
# Messages API Compatibility Reference Sibling protocols in the `inference-apis` plugin: **`chat-completions-api`** is the baseline surface every server implements and the target this one is most often translated to or from; **`responses-api`** is the third, with the thinnest backend coverage of the three. The Anthropic Messages API (`POST /v1/messages`) is now the second open compatibility surface after Chat Completions: **every major local inference server serves it natively** (verified by source examination 2026-07-19 — vLLM, SGLang, llama.cpp, Ollama, mistral.rs, Llama Stack/OGX, Lemonade), and gateways (LiteLLM, Bifrost, Superagent Gateway) adapt it to everything else. Claude Code is the driving client; Ollama, Lemonade, and Superagent all ship Claude Code-specific affordances. **Fleet property: stateless by protocol.** No `previous_response_id` equivalent exists — full history is resent every turn, so load-balanced same-model fleets cannot hit wrong-replica session errors (contrast the Responses API's server-side state; see the responses-api skill). **Last refreshed**: 2026-07-19 (source-examined at commits of 2026-07-16..18; provenance in `references/sources.md`). ## Critical Gotchas - **The thinking-signature seam**: third-party backends fabricate or omit thinking-block signatures. Replaying such thinking to the REAL Anthropic API fails signature validation — keep conversations on one side of the boundary or strip thinking when crossing. Per-implementation