For the complete documentation index, see llms.txt. Markdown versions of all docs pages are available by appending .md to any docs URL.
Messages
Send requests through agentgateway using the Anthropic Messages API.
The Anthropic Messages API (/v1/messages) is the native interface for Anthropic Claude models.
About
The Anthropic Messages API is the primary endpoint for Claude models. Agentgateway proxies these requests to your configured providers while providing token usage tracking, observability metrics, and policy enforcement.
When using the Anthropic provider, Agentgateway automatically handles additional requirements, such as the x-api-key and anthropic-version headers that the Anthropic API requires.
The related /v1/messages/count_tokens endpoint estimates token usage before sending a request and is handled by the anthropicTokenCount route type.
Route type configuration
In the simplified llm configuration, agentgateway automatically maps /v1/messages requests to the messages route type, so no explicit route configuration is required.
# yaml-language-server: $schema=https://agentgateway.dev/schema/config
llm:
models:
- name: "*"
provider: anthropic
params:
apiKey: "$ANTHROPIC_API_KEY"To configure the route type explicitly, use the gateways and routes format and set the messages route type in the policies.ai.routes map. To also support token counting, map /v1/messages/count_tokens to the anthropicTokenCount route type.
# yaml-language-server: $schema=https://agentgateway.dev/schema/config
gateways:
default:
port: 4000
routes:
- backends:
- ai:
name: anthropic
provider:
anthropic: {}
policies:
ai:
routes:
"/v1/messages": "messages"
"/v1/messages/count_tokens": "anthropicTokenCount"
backendAuth:
key: "$ANTHROPIC_API_KEY"Note
For detailed information about model routing and configuration modes, see Model routing and aliases.
Using the API
Send a request to the /v1/messages endpoint. The request is forwarded to the Anthropic API and the response is returned to the client.
curl -X POST http://localhost:4000/v1/messages \
-H "Content-Type: application/json" \
-d '{
"model": "claude-opus-4-6",
"max_tokens": 100,
"messages": [{"role": "user", "content": "Hello!"}]
}'For Anthropic-specific features such as token counting, extended thinking, and structured outputs, see the Anthropic provider guide.