Appearance
Fresh 2026
API details
Base URL, authentication, and key endpoint shapes for Models, Vendors, and Responses APIs.
Base API URL
All API endpoints in the reference documentation are relative to the following base URL:
https://api-gateway.merge.dev/v1Authentication
For any request you make when communicating with Merge Gateway, you will need an API key to authenticate yourself as an authorized user.
Add your API Key with a "Bearer " prefix as a header called Authorization to authorize your Merge API requests. This header must be included in every request in this format:
Authorization: BearerKey endpoints
Gateway's public API surface is centered around three endpoint groups:
GET /models- list models
- filter by
providerorvendor - fetch a single model by query string with
?model=
GET /vendors- list execution vendors and the models they currently serve
- fetch a single vendor with
GET /vendors/{vendor_id}
POST /responses- create an LLM response
- the response includes the
vendorthat ultimately served the request
Models API shape
GET /models returns canonical model identity at the top level and vendor-specific execution metadata under vendors.
Example:
json
{
"model": "anthropic/claude-opus-4-6",
"provider": "anthropic",
"display_name": "Claude Opus 4.6",
"vendors": {
"anthropic": {
"launch_date": "2025-05-14",
"context_window": 1000000,
"max_output_tokens": 32768,
"availability_status": "available",
"capabilities": {
"input": ["text", "image"],
"output": ["text", "tool_use"],
"supports_tool_calling": true,
"supports_tool_choice": true,
"supports_structured_outputs": true,
"streaming": true
},
"pricing": {
"input_per_million": 2.5,
"output_per_million": 10,
"currency": "USD"
}
}
},
"availability_status": "available",
"created_at": "2025-05-14T00:00:00Z",
"updated_at": "2026-03-01T00:00:00Z"
}Use GET /models?model= when you want one specific model object but prefer a query parameter over a path parameter. The slash is fine there because it is part of the query parameter value.
Vendors API shape
GET /vendors returns execution hosts, not canonical model owners.
Example:
json
{
"vendor": "bedrock",
"name": "AWS Bedrock",
"models": [
"anthropic/claude-opus-4-6",
"google/gemma-3-27b-it"
],
"supports_zdr": true,
"supports_byok": true,
"availability_status": "active"
}Responses
POST /responses returns the canonical model that served the request and a top-level vendor field for the execution host that actually handled it.