Routing Rules
List Routing Rules
Returns routing rules ordered by ascending priority. Supports cursor pagination, search, status, project, and referenced-model filters.from orq_ai_sdk import Orq
import os
with Orq(
api_key=os.getenv("ORQ_API_KEY", ""),
) as orq:
res = orq.routing_rules.list(limit=10)
# Handle response
print(res)
import { Orq } from "@orq-ai/node";
const orq = new Orq({
apiKey: process.env["ORQ_API_KEY"] ?? "",
});
async function run() {
const result = await orq.routingRules.list({
limit: 10,
});
console.log(result);
}
run();
Show Parameters
Show Parameters
{
"limit": Optional[int],
"starting_after": Optional[str],
"ending_before": Optional[str],
"project_id": Optional[str],
"search": Optional[str],
"enabled": Optional[bool],
"model": List[str], # optional
}
{
limit?: number;
startingAfter?: string;
endingBefore?: string;
projectId?: string;
search?: string;
enabled?: boolean;
model?: string[];
}
Show Response
Show Response
{
"object": str,
"data": [{
"id": str,
"created_at": date,
"updated_at": date,
"created_by_id": str,
"updated_by_id": str,
"project_id": str,
"display_name": str,
"description": str,
"enabled": bool,
"expression": { # optional
"config": Dict[str, Any], # optional
"cel": Optional[str],
},
"models_config": { # optional
"mode": Optional[str],
"models": [{ # optional
"model": Optional[str],
"display_name": Optional[str],
"weight": Optional[float],
"integration_id": Optional[str],
}],
},
"plugins": [{
"id": Optional[str],
"language": Optional[str],
"entities": List[str], # optional
"on_failure": Optional[str],
"threshold": Optional[float],
"mask": List[str], # optional
}],
"priority": int,
"cache_config": { # optional
"ttl": int,
},
}],
"has_more": bool,
}
{
object: string;
data: {
id: string;
createdAt: Date;
updatedAt: Date;
createdById: string;
updatedById: string;
projectId: string;
displayName: string;
description: string;
enabled: boolean;
expression?: {
config?: Record<string, unknown>;
cel?: string;
};
modelsConfig?: {
mode?: string;
models?: {
model?: string;
displayName?: string;
weight?: number;
integrationId?: string;
}[];
};
plugins: {
id?: string;
language?: string;
entities?: string[];
onFailure?: string;
threshold?: number;
mask?: string[];
}[];
priority: number;
cacheConfig?: {
ttl: number;
};
}[];
hasMore: boolean;
}
Create a Routing Rule
Creates a routing rule with metadata and optional model, plugin, priority, and matching configuration. Rules default to disabled whenenabled is omitted.
from orq_ai_sdk import Orq
import os
with Orq(
api_key=os.getenv("ORQ_API_KEY", ""),
) as orq:
res = orq.routing_rules.create(display_name="Freeda_Beahan")
# Handle response
print(res)
import { Orq } from "@orq-ai/node";
const orq = new Orq({
apiKey: process.env["ORQ_API_KEY"] ?? "",
});
async function run() {
const result = await orq.routingRules.create({
displayName: "Freeda_Beahan",
});
console.log(result);
}
run();
Show Parameters
Show Parameters
{
"display_name": str, # required
"description": Optional[str],
"project_id": Optional[str],
"enabled": Optional[bool],
"expression": { # optional
"config": Dict[str, Any], # optional
"cel": Optional[str],
},
"models_config": { # optional
"mode": Optional[str],
"models": [{ # optional
"model": Optional[str],
"display_name": Optional[str],
"weight": Optional[float],
"integration_id": Optional[str],
}],
},
"plugins": [{ # optional
"id": Optional[str],
"language": Optional[str],
"entities": List[str], # optional
"on_failure": Optional[str],
"threshold": Optional[float],
"mask": List[str], # optional
}],
"priority": Optional[int],
"cache_config": { # optional
"ttl": int, # required
},
}
{
displayName: string; // required
description?: string;
projectId?: string;
enabled?: boolean;
expression?: {
config?: Record<string, unknown>;
cel?: string;
};
modelsConfig?: {
mode?: string;
models?: {
model?: string;
displayName?: string;
weight?: number;
integrationId?: string;
}[];
};
plugins?: {
id?: string;
language?: string;
entities?: string[];
onFailure?: string;
threshold?: number;
mask?: string[];
}[];
priority?: number;
cacheConfig?: {
ttl: number; // required
};
}
Show Response
Show Response
{
"id": str,
"created_at": date,
"updated_at": date,
"created_by_id": str,
"updated_by_id": str,
"project_id": str,
"display_name": str,
"description": str,
"enabled": bool,
"expression": { # optional
"config": Dict[str, Any], # optional
"cel": Optional[str],
},
"models_config": { # optional
"mode": Optional[str],
"models": [{ # optional
"model": Optional[str],
"display_name": Optional[str],
"weight": Optional[float],
"integration_id": Optional[str],
}],
},
"plugins": [{
"id": Optional[str],
"language": Optional[str],
"entities": List[str], # optional
"on_failure": Optional[str],
"threshold": Optional[float],
"mask": List[str], # optional
}],
"priority": int,
"cache_config": { # optional
"ttl": int,
},
}
{
id: string;
createdAt: Date;
updatedAt: Date;
createdById: string;
updatedById: string;
projectId: string;
displayName: string;
description: string;
enabled: boolean;
expression?: {
config?: Record<string, unknown>;
cel?: string;
};
modelsConfig?: {
mode?: string;
models?: {
model?: string;
displayName?: string;
weight?: number;
integrationId?: string;
}[];
};
plugins: {
id?: string;
language?: string;
entities?: string[];
onFailure?: string;
threshold?: number;
mask?: string[];
}[];
priority: number;
cacheConfig?: {
ttl: number;
};
}
List Used Models
Returns the distinct model references used by routing rules in the requested scope.from orq_ai_sdk import Orq
import os
with Orq(
api_key=os.getenv("ORQ_API_KEY", ""),
) as orq:
res = orq.routing_rules.list_used_models()
# Handle response
print(res)
import { Orq } from "@orq-ai/node";
const orq = new Orq({
apiKey: process.env["ORQ_API_KEY"] ?? "",
});
async function run() {
const result = await orq.routingRules.listUsedModels();
console.log(result);
}
run();
Show Parameters
Show Parameters
{
"project_id": Optional[str],
}
{
projectId?: string;
}
Show Response
Show Response
{
"object": str,
"models": List[str],
}
{
object: string;
models: string[];
}
Retrieve a Routing Rule
Retrieves a routing rule by its unique identifier.from orq_ai_sdk import Orq
import os
with Orq(
api_key=os.getenv("ORQ_API_KEY", ""),
) as orq:
res = orq.routing_rules.retrieve(routing_rule_id="<id>")
# Handle response
print(res)
import { Orq } from "@orq-ai/node";
const orq = new Orq({
apiKey: process.env["ORQ_API_KEY"] ?? "",
});
async function run() {
const result = await orq.routingRules.retrieve({
routingRuleId: "<id>",
});
console.log(result);
}
run();
Show Parameters
Show Parameters
{
"routing_rule_id": str, # required
}
{
routingRuleId: string; // required
}
Show Response
Show Response
{
"id": str,
"created_at": date,
"updated_at": date,
"created_by_id": str,
"updated_by_id": str,
"project_id": str,
"display_name": str,
"description": str,
"enabled": bool,
"expression": { # optional
"config": Dict[str, Any], # optional
"cel": Optional[str],
},
"models_config": { # optional
"mode": Optional[str],
"models": [{ # optional
"model": Optional[str],
"display_name": Optional[str],
"weight": Optional[float],
"integration_id": Optional[str],
}],
},
"plugins": [{
"id": Optional[str],
"language": Optional[str],
"entities": List[str], # optional
"on_failure": Optional[str],
"threshold": Optional[float],
"mask": List[str], # optional
}],
"priority": int,
"cache_config": { # optional
"ttl": int,
},
}
{
id: string;
createdAt: Date;
updatedAt: Date;
createdById: string;
updatedById: string;
projectId: string;
displayName: string;
description: string;
enabled: boolean;
expression?: {
config?: Record<string, unknown>;
cel?: string;
};
modelsConfig?: {
mode?: string;
models?: {
model?: string;
displayName?: string;
weight?: number;
integrationId?: string;
}[];
};
plugins: {
id?: string;
language?: string;
entities?: string[];
onFailure?: string;
threshold?: number;
mask?: string[];
}[];
priority: number;
cacheConfig?: {
ttl: number;
};
}
Delete a Routing Rule
Permanently deletes a routing rule.from orq_ai_sdk import Orq
import os
with Orq(
api_key=os.getenv("ORQ_API_KEY", ""),
) as orq:
orq.routing_rules.delete(routing_rule_id="<id>")
# Use the SDK ...
import { Orq } from "@orq-ai/node";
const orq = new Orq({
apiKey: process.env["ORQ_API_KEY"] ?? "",
});
async function run() {
await orq.routingRules.delete({
routingRuleId: "<id>",
});
}
run();
Show Parameters
Show Parameters
{
"routing_rule_id": str, # required
}
{
routingRuleId: string; // required
}
Update a Routing Rule
Partially updates routing-rule metadata or configuration. Project scope is immutable.from orq_ai_sdk import Orq
import os
with Orq(
api_key=os.getenv("ORQ_API_KEY", ""),
) as orq:
res = orq.routing_rules.update(routing_rule_id="<id>")
# Handle response
print(res)
import { Orq } from "@orq-ai/node";
const orq = new Orq({
apiKey: process.env["ORQ_API_KEY"] ?? "",
});
async function run() {
const result = await orq.routingRules.update({
routingRuleId: "<id>",
updateRoutingRuleRequest: {},
});
console.log(result);
}
run();
Show Parameters
Show Parameters
{
"routing_rule_id": str, # required
"display_name": Optional[str],
"description": Optional[str],
"enabled": Optional[bool],
"expression": { # optional
"config": Dict[str, Any], # optional
"cel": Optional[str],
},
"models_config": { # optional
"mode": Optional[str],
"models": [{ # optional
"model": Optional[str],
"display_name": Optional[str],
"weight": Optional[float],
"integration_id": Optional[str],
}],
},
"plugins": [{ # optional
"id": Optional[str],
"language": Optional[str],
"entities": List[str], # optional
"on_failure": Optional[str],
"threshold": Optional[float],
"mask": List[str], # optional
}],
"priority": Optional[int],
"cache_config": { # optional
"ttl": int, # required
},
}
{
routingRuleId: string; // required
updateRoutingRuleRequest: { // required
displayName?: string;
description?: string;
enabled?: boolean;
expression?: {
config?: Record<string, unknown>;
cel?: string;
};
modelsConfig?: {
mode?: string;
models?: {
model?: string;
displayName?: string;
weight?: number;
integrationId?: string;
}[];
};
plugins?: {
id?: string;
language?: string;
entities?: string[];
onFailure?: string;
threshold?: number;
mask?: string[];
}[];
priority?: number;
cacheConfig?: {
ttl: number; // required
};
};
}
Show Response
Show Response
{
"id": str,
"created_at": date,
"updated_at": date,
"created_by_id": str,
"updated_by_id": str,
"project_id": str,
"display_name": str,
"description": str,
"enabled": bool,
"expression": { # optional
"config": Dict[str, Any], # optional
"cel": Optional[str],
},
"models_config": { # optional
"mode": Optional[str],
"models": [{ # optional
"model": Optional[str],
"display_name": Optional[str],
"weight": Optional[float],
"integration_id": Optional[str],
}],
},
"plugins": [{
"id": Optional[str],
"language": Optional[str],
"entities": List[str], # optional
"on_failure": Optional[str],
"threshold": Optional[float],
"mask": List[str], # optional
}],
"priority": int,
"cache_config": { # optional
"ttl": int,
},
}
{
id: string;
createdAt: Date;
updatedAt: Date;
createdById: string;
updatedById: string;
projectId: string;
displayName: string;
description: string;
enabled: boolean;
expression?: {
config?: Record<string, unknown>;
cel?: string;
};
modelsConfig?: {
mode?: string;
models?: {
model?: string;
displayName?: string;
weight?: number;
integrationId?: string;
}[];
};
plugins: {
id?: string;
language?: string;
entities?: string[];
onFailure?: string;
threshold?: number;
mask?: string[];
}[];
priority: number;
cacheConfig?: {
ttl: number;
};
}