RouteMarket 文档

Chat Completions

The most common RouteMarket API request shape and its RouteMarket-specific extensions.

POST /v1/chat/completions is the main RouteMarket entrypoint for OpenAI-compatible chat requests.

Endpoint

POST https://api.routemarket.ai/v1/chat/completions

Minimal request

curl https://api.routemarket.ai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $ROUTELAB_API_KEY" \
  -d '{
    "model": "gpt-5.4",
    "messages": [
      { "role": "user", "content": "Say hello from RouteMarket." }
    ]
  }'

OpenAI-compatible SDK example

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.ROUTELAB_API_KEY,
  baseURL: "https://api.routemarket.ai/v1"
});

const completion = await client.chat.completions.create({
  model: "gpt-5.4",
  messages: [{ role: "user", content: "Explain RouteMarket in one sentence." }]
});

console.log(completion.choices[0]?.message?.content);

RouteMarket extensions

RouteMarket supports extra request fields beyond the basic OpenAI-compatible payload.

provider

Restrict routing to a specific provider.

{
  "model": "gpt-5.4",
  "provider": "openai"
}

route

Target a specific route.

{
  "model": "gpt-5.4",
  "route": "route_openai_primary"
}

routing_preference

Give RouteMarket a routing priority such as:

  • lowest_price
  • highest_reliability
  • lowest_latency
  • official_only
{
  "model": "gpt-5.4",
  "routing_preference": "highest_reliability"
}

source_policy

Attach finer-grained constraints to source selection.

{
  "model": "gpt-5.4",
  "source_policy": {
    "exclude_risk_levels": ["high"]
  }
}

What RouteMarket may return in addition to text

RouteMarket aims to keep usage and source selection visible. A successful response may include:

  • usage
  • provider
  • route
  • pricing

Example response shape:

{
  "model": "gpt-5.4",
  "provider": "openai",
  "route": "route_openai_primary",
  "usage": {
    "prompt_tokens": 120,
    "completion_tokens": 300,
    "total_tokens": 420
  },
  "pricing": {
    "currency": "USD",
    "cost_amount": "0.00120000",
    "sale_amount": "0.00150000"
  }
}

Next step

If you want to understand how the platform chooses a route behind this endpoint, read Routing.