RoutingRules
List RoutingRules
Returns a paginated list of routing rules for the current project, ordered by priority ascending.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({});
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": OptionalNullable[bool],
"model": List[str],
}
{
limit?: number;
startingAfter?: string;
endingBefore?: string;
projectId?: string;
search?: string;
enabled?: boolean;
model?: string[];
}
Show Response
Show Response
{
"data": {
"id": str,
"created_at": date,
"created_by_id": str,
"description": Optional[str],
"display_name": str,
"enabled": bool,
"expression": { # optional
"cel": str,
"config": Dict[str, Any],
},
"models_config": { # optional
"mode": Literal["fallback", "weighted", "round_robin"],
"models": {
"display_name": Optional[str],
"integration_id": Optional[str],
"model": str,
"weight": Optional[float],
},
},
"priority": int,
"project_id": str,
"updated_at": date,
"updated_by_id": str,
},
"has_more": bool,
"object": str,
}
{
data: {
id: string;
createdAt: Date;
createdById: string;
description?: string;
displayName: string;
enabled: boolean;
expression?: {
cel: string;
config?: Record<string, any>;
};
modelsConfig?: {
mode: string;
models: {
displayName?: string;
integrationId?: string;
model: string;
weight?: number;
};
};
priority: number;
projectId: string;
updatedAt: Date;
updatedById: string;
};
hasMore: boolean;
object: string;
}
Create a RoutingRule
Creates a new routing rule with expression, models configuration, and priority settings.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],
"enabled": Optional[bool],
"expression": { # optional
"cel": str, # required
},
"models_config": { # optional
"mode": Literal["fallback", "weighted", "round_robin"], # required
"models": { # required
"display_name": Optional[str],
"integration_id": Optional[str],
"model": str, # required
"weight": Optional[float],
},
},
"priority": Optional[int],
"project_id": Optional[str],
}
{
description?: string;
displayName: string; // required
enabled?: boolean;
expression?: {
cel: string; // required
};
modelsConfig?: {
mode: string; // required
models: { // required
displayName?: string;
integrationId?: string;
model: string; // required
weight?: number;
};
};
priority?: number;
projectId?: string;
}
Show Response
Show Response
{
"id": str,
"created_at": date,
"created_by_id": str,
"description": Optional[str],
"display_name": str,
"enabled": bool,
"expression": { # optional
"cel": str,
"config": Dict[str, Any],
},
"models_config": { # optional
"mode": Literal["fallback", "weighted", "round_robin"],
"models": {
"display_name": Optional[str],
"integration_id": Optional[str],
"model": str,
"weight": Optional[float],
},
},
"priority": int,
"project_id": str,
"updated_at": date,
"updated_by_id": str,
}
{
id: string;
createdAt: Date;
createdById: string;
description?: string;
displayName: string;
enabled: boolean;
expression?: {
cel: string;
config?: Record<string, any>;
};
modelsConfig?: {
mode: string;
models: {
displayName?: string;
integrationId?: string;
model: string;
weight?: number;
};
};
priority: number;
projectId: string;
updatedAt: Date;
updatedById: string;
}
List Used Models
Returns the distinct model refs referenced across all routing rules in 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 Response
Show Response
{
"models": List[str],
"object": str,
}
{
models: string[];
object: string;
}
Delete a RoutingRule
Deletes an existing routing rule by ID.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
}
Retrieve a RoutingRule
Retrieves the details of an existing routing rule by ID.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,
"created_by_id": str,
"description": Optional[str],
"display_name": str,
"enabled": bool,
"expression": { # optional
"cel": str,
"config": Dict[str, Any],
},
"models_config": { # optional
"mode": Literal["fallback", "weighted", "round_robin"],
"models": {
"display_name": Optional[str],
"integration_id": Optional[str],
"model": str,
"weight": Optional[float],
},
},
"priority": int,
"project_id": str,
"updated_at": date,
"updated_by_id": str,
}
{
id: string;
createdAt: Date;
createdById: string;
description?: string;
displayName: string;
enabled: boolean;
expression?: {
cel: string;
config?: Record<string, any>;
};
modelsConfig?: {
mode: string;
models: {
displayName?: string;
integrationId?: string;
model: string;
weight?: number;
};
};
priority: number;
projectId: string;
updatedAt: Date;
updatedById: string;
}
Update a RoutingRule
Partially updates an existing routing rule. Only provided fields are updated.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>",
requestBody: {},
});
console.log(result);
}
run();
Show Parameters
Show Parameters
{
"routing_rule_id": str, # required
"description": Optional[str],
"display_name": Optional[str],
"enabled": Optional[bool],
"expression": { # optional
"cel": str, # required
},
"models_config": { # optional
"mode": Literal["fallback", "weighted", "round_robin"], # required
"models": { # required
"display_name": Optional[str],
"integration_id": Optional[str],
"model": str, # required
"weight": Optional[float],
},
},
"priority": Optional[int],
}
{
routingRuleId: string; // required
requestBody: { // required
description?: string;
displayName?: string;
enabled?: boolean;
expression?: {
cel: string; // required
};
modelsConfig?: {
mode: string; // required
models: { // required
displayName?: string;
integrationId?: string;
model: string; // required
weight?: number;
};
};
priority?: number;
};
}
Show Response
Show Response
{
"id": str,
"created_at": date,
"created_by_id": str,
"description": Optional[str],
"display_name": str,
"enabled": bool,
"expression": { # optional
"cel": str,
"config": Dict[str, Any],
},
"models_config": { # optional
"mode": Literal["fallback", "weighted", "round_robin"],
"models": {
"display_name": Optional[str],
"integration_id": Optional[str],
"model": str,
"weight": Optional[float],
},
},
"priority": int,
"project_id": str,
"updated_at": date,
"updated_by_id": str,
}
{
id: string;
createdAt: Date;
createdById: string;
description?: string;
displayName: string;
enabled: boolean;
expression?: {
cel: string;
config?: Record<string, any>;
};
modelsConfig?: {
mode: string;
models: {
displayName?: string;
integrationId?: string;
model: string;
weight?: number;
};
};
priority: number;
projectId: string;
updatedAt: Date;
updatedById: string;
}