Core - Configure routing rule
curl --request PATCH \
--url 'https://router.toqan.ai/eu/v2/routing-rules/rrl_01HZXW2K7Y8Q9M0N1P2R3S4T5V' \
--header "Authorization: Bearer $TOQAN_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"enabled": true,
"priority": 10,
"models_config": {
"mode": "fallback",
"models": [{"model": "openai/gpt-5"}],
"fallback_on_codes": [429, 503]
}
}'
const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
display_name: '<string>',
description: '<string>',
enabled: true,
expression: {config: {}, cel: '<string>'},
models_config: {
mode: '<string>',
models: [
{
model: '<string>',
display_name: '<string>',
weight: 123,
integration_id: '<string>'
}
],
fallback_on_codes: [499]
},
plugins: [
{
id: '<string>',
language: '<string>',
entities: ['<string>'],
on_failure: '<string>',
threshold: 123,
mask: ['<string>'],
regions: ['<string>'],
entity_thresholds: {},
models_config: {
mode: '<string>',
models: [
{
model: '<string>',
display_name: '<string>',
weight: 123,
integration_id: '<string>'
}
],
fallback_on_codes: [499]
},
checks: {}
}
],
priority: 123
})
};
fetch('https://router.toqan.ai/eu/v2/routing-rules/{routing_rule_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://router.toqan.ai/eu/v2/routing-rules/{routing_rule_id}"
payload = {
"display_name": "<string>",
"description": "<string>",
"enabled": True,
"expression": {
"config": {},
"cel": "<string>"
},
"models_config": {
"mode": "<string>",
"models": [
{
"model": "<string>",
"display_name": "<string>",
"weight": 123,
"integration_id": "<string>"
}
],
"fallback_on_codes": [499]
},
"plugins": [
{
"id": "<string>",
"language": "<string>",
"entities": ["<string>"],
"on_failure": "<string>",
"threshold": 123,
"mask": ["<string>"],
"regions": ["<string>"],
"entity_thresholds": {},
"models_config": {
"mode": "<string>",
"models": [
{
"model": "<string>",
"display_name": "<string>",
"weight": 123,
"integration_id": "<string>"
}
],
"fallback_on_codes": [499]
},
"checks": {}
}
],
"priority": 123
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"created_by_id": "<string>",
"updated_by_id": "<string>",
"project_id": "<string>",
"display_name": "<string>",
"description": "<string>",
"enabled": true,
"plugins": [
{
"id": "<string>",
"language": "<string>",
"entities": [
"<string>"
],
"on_failure": "<string>",
"threshold": 123,
"mask": [
"<string>"
],
"regions": [
"<string>"
],
"entity_thresholds": {},
"models_config": {
"mode": "<string>",
"models": [
{
"model": "<string>",
"display_name": "<string>",
"weight": 123,
"integration_id": "<string>"
}
],
"fallback_on_codes": [
499
]
},
"checks": {}
}
],
"priority": 123,
"expression": {
"config": {},
"cel": "<string>"
},
"models_config": {
"mode": "<string>",
"models": [
{
"model": "<string>",
"display_name": "<string>",
"weight": 123,
"integration_id": "<string>"
}
],
"fallback_on_codes": [
499
]
},
"cache_config": {
"ttl": 123
}
}{
"message": "<string>",
"code": 123,
"details": [
"<unknown>"
]
}Routing Rules
Update a routing rule
Partially updates routing-rule metadata or configuration. Project scope is immutable.
PATCH
/
v2
/
routing-rules
/
{routing_rule_id}
Core - Configure routing rule
curl --request PATCH \
--url 'https://router.toqan.ai/eu/v2/routing-rules/rrl_01HZXW2K7Y8Q9M0N1P2R3S4T5V' \
--header "Authorization: Bearer $TOQAN_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"enabled": true,
"priority": 10,
"models_config": {
"mode": "fallback",
"models": [{"model": "openai/gpt-5"}],
"fallback_on_codes": [429, 503]
}
}'
const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
display_name: '<string>',
description: '<string>',
enabled: true,
expression: {config: {}, cel: '<string>'},
models_config: {
mode: '<string>',
models: [
{
model: '<string>',
display_name: '<string>',
weight: 123,
integration_id: '<string>'
}
],
fallback_on_codes: [499]
},
plugins: [
{
id: '<string>',
language: '<string>',
entities: ['<string>'],
on_failure: '<string>',
threshold: 123,
mask: ['<string>'],
regions: ['<string>'],
entity_thresholds: {},
models_config: {
mode: '<string>',
models: [
{
model: '<string>',
display_name: '<string>',
weight: 123,
integration_id: '<string>'
}
],
fallback_on_codes: [499]
},
checks: {}
}
],
priority: 123
})
};
fetch('https://router.toqan.ai/eu/v2/routing-rules/{routing_rule_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://router.toqan.ai/eu/v2/routing-rules/{routing_rule_id}"
payload = {
"display_name": "<string>",
"description": "<string>",
"enabled": True,
"expression": {
"config": {},
"cel": "<string>"
},
"models_config": {
"mode": "<string>",
"models": [
{
"model": "<string>",
"display_name": "<string>",
"weight": 123,
"integration_id": "<string>"
}
],
"fallback_on_codes": [499]
},
"plugins": [
{
"id": "<string>",
"language": "<string>",
"entities": ["<string>"],
"on_failure": "<string>",
"threshold": 123,
"mask": ["<string>"],
"regions": ["<string>"],
"entity_thresholds": {},
"models_config": {
"mode": "<string>",
"models": [
{
"model": "<string>",
"display_name": "<string>",
"weight": 123,
"integration_id": "<string>"
}
],
"fallback_on_codes": [499]
},
"checks": {}
}
],
"priority": 123
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"created_by_id": "<string>",
"updated_by_id": "<string>",
"project_id": "<string>",
"display_name": "<string>",
"description": "<string>",
"enabled": true,
"plugins": [
{
"id": "<string>",
"language": "<string>",
"entities": [
"<string>"
],
"on_failure": "<string>",
"threshold": 123,
"mask": [
"<string>"
],
"regions": [
"<string>"
],
"entity_thresholds": {},
"models_config": {
"mode": "<string>",
"models": [
{
"model": "<string>",
"display_name": "<string>",
"weight": 123,
"integration_id": "<string>"
}
],
"fallback_on_codes": [
499
]
},
"checks": {}
}
],
"priority": 123,
"expression": {
"config": {},
"cel": "<string>"
},
"models_config": {
"mode": "<string>",
"models": [
{
"model": "<string>",
"display_name": "<string>",
"weight": 123,
"integration_id": "<string>"
}
],
"fallback_on_codes": [
499
]
},
"cache_config": {
"ttl": 123
}
}{
"message": "<string>",
"code": 123,
"details": [
"<unknown>"
]
}Related guide: Routing rules guide. See the Routing rules guide for a walkthrough with examples.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Body
application/json
Response
OK
Project that contains the rule. Empty for workspace-wide rules.
Human-readable routing-rule name.
Show child attributes
Show child attributes
Evaluation order. Lower values are evaluated first.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes

