Model Router
List router models
The benchmark catalog the router selects from: prices, speed, context, modalities and benchmark scores per model. Requires runs_read.
GET
/
v1
/
router
/
models
List router models
curl --request GET \
--url https://api.opentype.dev/v1/router/models \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.opentype.dev/v1/router/models', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.opentype.dev/v1/router/models"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"as_of": "<string>",
"benchmarks_as_of": "<string>",
"source": "<string>",
"domains": [
"<string>"
],
"task_types": [
"<string>"
],
"policies": [
"<string>"
],
"models": [
{
"id": "<string>",
"name": "<string>",
"provider": "<string>",
"open_weights": true,
"context_tokens": 1,
"modalities": [
"<string>"
],
"price_input_per_mtok": 123,
"price_output_per_mtok": 123,
"blended_price_per_mtok": 123,
"reasoning_token_factor": 123,
"scores": {
"intelligence": 123,
"coding": 123,
"math": 123,
"reasoning": 123,
"knowledge": 123,
"agentic": 123,
"long_context": 123,
"instruction_following": 123,
"multilingual": 123
},
"domains": [
"<string>"
],
"highlights": [
{
"benchmark": "<string>",
"name": "<string>",
"value": 123,
"rank": 1,
"of": 1
}
],
"benchmarks_measured": 1,
"license": "<string>",
"released": "<string>",
"output_tokens_per_s": 123,
"ttft_ms": 123
}
]
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>",
"violations": [
"<string>"
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>",
"violations": [
"<string>"
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>",
"violations": [
"<string>"
]
}
}Authorizations
bearerbearer
An API key (otsk_ + 64 hex) or a console session token.
List router models
curl --request GET \
--url https://api.opentype.dev/v1/router/models \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.opentype.dev/v1/router/models', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.opentype.dev/v1/router/models"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"as_of": "<string>",
"benchmarks_as_of": "<string>",
"source": "<string>",
"domains": [
"<string>"
],
"task_types": [
"<string>"
],
"policies": [
"<string>"
],
"models": [
{
"id": "<string>",
"name": "<string>",
"provider": "<string>",
"open_weights": true,
"context_tokens": 1,
"modalities": [
"<string>"
],
"price_input_per_mtok": 123,
"price_output_per_mtok": 123,
"blended_price_per_mtok": 123,
"reasoning_token_factor": 123,
"scores": {
"intelligence": 123,
"coding": 123,
"math": 123,
"reasoning": 123,
"knowledge": 123,
"agentic": 123,
"long_context": 123,
"instruction_following": 123,
"multilingual": 123
},
"domains": [
"<string>"
],
"highlights": [
{
"benchmark": "<string>",
"name": "<string>",
"value": 123,
"rank": 1,
"of": 1
}
],
"benchmarks_measured": 1,
"license": "<string>",
"released": "<string>",
"output_tokens_per_s": 123,
"ttft_ms": 123
}
]
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>",
"violations": [
"<string>"
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>",
"violations": [
"<string>"
]
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>",
"violations": [
"<string>"
]
}
}