router and locus-travel providers plan eligible calls, use the same billing and refund path as direct calls, and return normalized results with durable receipts.
Choose an endpoint
All three endpoints are variable-cost. You pay the exact sum of successful underlying provider calls. A failed provider call follows the normal refund path, and an idempotent replay creates no new charge.
Configure the eligible pool
In an enterprise workspace with capability routing available, open Agent tools, then Multi-Provider Web Search, to choose the default mode, maximum results, balanced-mode provider limit, image behavior, and provider allowlist. The allowlist is a hard boundary. A provider must also have a configured, enabled catalog access path before the router can use it. In a personal account where routing is available, the router appears enabled and system-managed. You cannot toggle it or manage the enterprise provider pool and settings APIs.
Tenant secret keys can read the same configuration with
GET /api/credits/router/settings, change it with PUT /api/credits/router/settings, enable an eligible provider with POST /api/credits/router/providers/{providerId}/enable, and preview the saved plan with POST /api/credits/router/preview. Reads require tenant:read; changes require catalog:write.
Preview without calling providers
The execution routes also expose a free preview at the same path plus/preview:
maxCredits as the execution-time hard boundary.
Run a routed search
If the tenant-aware estimate exceeds
maxCredits, Locus rejects the plan before dispatch and charges nothing.
Read the result and receipt
router/web-search returns normalized results, optional images, each provider’s outcome, and aggregate billing:
partial: true means at least one planned provider failed while others produced a useful result. Treat the returned evidence and billing.chargedCredits as authoritative; do not reconstruct the charge from a preview.
Agents can discover all three routes through search_apis, the server SDK’s searchTools(), or the catalog. The ordinary Agent Connection tool allowlist and per-call/per-loop limits still apply.
Compare flights with Locus Travel
Enablelocus-travel/flight-search, then preview the current plan without calling providers:
POST /api/wrapped/credits/locus-travel/flight-search with an idempotency key. origin, destination, and departureDate are required. Optional controls cover return date, passengers, cabin, currency, optimization, airline and airport preferences, stops, schedule, price, result count, provider count, and maxCredits. A 202 response means the search is still running: retry the same request with the same Idempotency-Key to collect the result — do not abandon the flight or start a new key.
The result includes normalized itineraries, provider outcomes, warnings, provenance, confidence, bookability, exact billing, partial, and a durable runId. A partial result can still be useful; inspect its warnings and provider outcomes.
Submit feedback to the feedback route returned with the result. It keeps the route paired with the correct runId.