Core concepts

Routing Policies

TurnstileAI can route requests using different policies.

Common policies

PolicyKeyPurpose
CheapestcheapestLowest estimated cost
FastestfastestLowest latency
Highest reputationhighest-reputationMore trusted providers
Private attestedprivate-attestedRestricted private paths
Fixed providerfixed-providerForce a chosen provider

Set a default policy

const client = new TurnstileAI({
  apiKey: process.env.TURNSTILE_API_KEY!,
  defaultPolicy: "highest-reputation"
});

Override per request

await client.chat.completions.create({
  model: "openai/gpt-4o-mini",
  messages: [
    { role: "user", content: "Summarize this in five bullets." }
  ],
  extra_body: {
    receipt: true,
    policy: "fastest"
  }
});

When to use each one

  • Use cheapest for cost-sensitive workloads.
  • Use fastest for low-latency flows.
  • Use highest-reputation when reliability matters most.
  • Use fixed-provider when you need strict control.