| url | No | Optional https URL to probe instead of discovery. need or url (or both) is required. | |
| need | No | What the caller wants routed (plain English). | |
| policy | No | Natural-language constraints compiled into structured values. Unresolved phrases are returned, never guessed. | |
| networks | No | Hard policy lock. Restricts discovery and selection to this set. A HTTP 200 winner must have selected_payment.network in this set from the CURRENT observed 402, never a catalog claim. Unlike prefer_network, this is not a ranking preference. | |
| objective | No | Best-of-N among currently probed eligible candidates, not every discovered endpoint. cheapest, fastest, and most_reliable rank that probed survivor set. fastest is this-request probe RTT, not settlement latency. fastest_settlement is a separate settlement/finality objective. lowest_total_cost fails closed when a fee is unknown. | |
| search_depth | No | standard: first 3 then expand 2-4 (typical cap 7). thorough may expand further. Hard server ceiling is 20. | |
| max_price_usd | No | Drop live hits whose known normalized USD exceeds this bound. Unknown USD fails closed. | |
| max_latency_ms | No | Compatibility alias for max_probe_latency_ms (this request's probe RTT). Unknown latency fails closed. | |
| prefer_network | No | Weak ranking preference only. Ranks this pay-in rail first but still searches and selects across all supported rails. Not a filter. Use networks for a hard policy lock. | |
| min_observations | No | Require history n_7d at least this large. Unknown or smaller fails closed. | |
| max_amount_atomic | No | Drop live hits whose known atomic amount exceeds this bound. Unknown or cross-asset amount fails closed. | |
| require_invocable | No | If true, drop live hits without an input schema. | |
| max_total_cost_usd | No | Merchant price plus known fees. Unknown fee fails closed. | |
| accept_payTo_change | No | If true, allow selecting a destination whose payTo just changed for the first time. Default false: the first unexpected payTo change is not selectable; a second later independent observation of the same destination can establish it. | |
| max_probe_latency_ms | No | Drop live hits whose known probe RTT exceeds this bound. Not historical service/p50 latency. | |
| min_observed_success | No | Require observed success_7d when n_7d >= 3. Unknown fails closed. | |
| min_reputation_score | No | Require V1 reputation_score. Unknown fails closed. Never guessed from vague NL. | |
| require_transparency | No | If true, a settled /route winner fails when a signed checkpoint receipt cannot be produced. This requires delivery of verifiable evidence on HTTP 200, not server-side recovery. To verify the routing decision later, securely retain the complete paid /route response, especially pq_trust.transparency.receipt and pq_trust.transparency.reveal. Private replay outcomes can retain the reveal; they are not a recovery service. Keep your own copy. Modified evidence fails verification against the public log. Default false (SEC-ROUTER-004 / A-14): a settled winner does not require a durable signed leaf. A free typed miss creates no route-decision leaf. Routing continues if append, signing, or anchoring is down after settlement (logged_uncheckpointed or unavailable). logged_uncheckpointed is never success when this flag is true. require_route_binding=true also requires transparency, even if this flag is false. A required receipt failure after settlement still reports billing.settled=true; unavailable does not prove no append occurred. | |
| require_route_binding | No | Opt in to proof_carrying_route_v1 and a signed v4 receipt. Requires exact x402 v2 terms observed on the same HTTPS URL, method and probe body, without redirects or unresolved policy. Unprovable binding is a free typed miss. Implies require_transparency; a receipt failure after settlement still reports settled=true. Buyer must verify with a pinned log key and recheck the actual seller challenge immediately before signing. Preserve raw response JSON. The default 60-second freshness window starts at observation, not receipt issuance. Expiry or a changed seller challenge does not undo a settled routing fee. Default false; existing requests keep the v3 receipt path. This is not a payment authorization. Guide: https://402signal.com/developers#route-binding | |
| max_service_latency_ms | No | Drop live hits whose historical p50 latency exceeds this bound. Unknown p50 fails closed. | |
| max_candidates_to_probe | No | Requested probe cap, hard-capped at 20. | |
| max_settlement_latency_ms | No | Settlement/finality bound. Not probe RTT. Unknown fails closed. | |
| min_reputation_confidence | No | Require reputation_confidence. n_7d < 10 is low confidence. | |