Skip to main content
POST
/
v1
/
model-router
/
invoke
Invoke a model with routing
curl --request POST \
  --url https://api-sandbox.featherhq.com/v1/model-router/invoke \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "messages": [
    {
      "role": "<string>",
      "content": "<string>"
    }
  ],
  "router_config_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "config_overrides": {},
  "session_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "smart_routing": false
}
'
{
  "content": "<string>",
  "model_identifier": "<string>",
  "provider": "<string>",
  "input_tokens": 123,
  "output_tokens": 123,
  "total_tokens": 123,
  "input_cost_usd": 123,
  "output_cost_usd": 123,
  "total_cost_usd": 123,
  "latency_ms": 123,
  "tool_calls": [
    {}
  ],
  "routing_metadata": {
    "classifier_model": "<string>",
    "classifier_confidence": 123,
    "recommended_model": "<string>",
    "executed_model": "<string>",
    "candidate_chain": [
      "<string>"
    ],
    "reason": "<string>"
  },
  "parsed_output": {},
  "execution_engine": "pydantic_text",
  "cache_read_input_tokens": 0,
  "cache_creation_input_tokens": 0,
  "cache_hit": false,
  "route_decision_id": "<string>"
}

Authorizations

x-api-key
string
header
required

Body

application/json
messages
MessageInput · object[]
required
router_config_id
string<uuid> | null
config_overrides
Config Overrides · object
session_id
string<uuid> | null
smart_routing
boolean
default:false

Response

Successful Response

content
string
required
model_identifier
string
required
provider
string
required
input_tokens
integer
required
output_tokens
integer
required
total_tokens
integer
required
input_cost_usd
number
required
output_cost_usd
number
required
total_cost_usd
number
required
latency_ms
integer
required
tool_calls
Tool Calls · object[] | null
routing_metadata
SmartRoutingMetadata · object
parsed_output
Parsed Output · object
execution_engine
enum<string>
default:pydantic_text
Available options:
pydantic_text,
pydantic_tools,
pydantic_structured
cache_read_input_tokens
integer
default:0
cache_creation_input_tokens
integer
default:0
cache_hit
boolean
default:false
route_decision_id
string | null