{"openapi":"3.1.0","info":{"title":"NetIntel Router","version":"1.0.0","description":"Which x402 endpoint should I call? The NetIntel Router ranks the whole Coinbase Bazaar catalog of pay-per-call endpoints for a job described in plain words — by fit, real paying demand (distinct wallets in 30 days), health (our own payment-challenge checks) and price — and explains every pick. Search is free; recommend health-checks the best matches live; vet checks one endpoint you already chose. Paid calls use x402 (USDC on Base or Solana), no API key, and are never charged when there is nothing to answer.","x-guidance":"Describe the job in plain words. Use GET /route/search (free) to browse; GET /route/recommend to get the three best endpoints that pass a live payment check right now, with their current price quotes; GET /route/vet before relying on an endpoint you already picked. Paid calls answer 402 with x402 payment requirements first; pay and retry. Then call the endpoint you chose yourself, with your own x402 client.","contact":{"email":"support@netintel.dev"},"x-logo":{"url":"https://router.netintel.dev/favicon.png","altText":"NetIntel Router"}},"servers":[{"url":"https://router.netintel.dev"}],"paths":{"/health":{"get":{"operationId":"getHealth","summary":"Report service health and uptime","tags":["meta"],"security":[],"responses":{"200":{"description":"Service is healthy","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string"},"version":{"type":"string"}}}}}}}}},"/route/recommend":{"get":{"operationId":"getRouteRecommend","summary":"Best 3 x402 endpoints for a job, health-checked live","tags":["route"],"description":"Which x402 endpoint should I call? Describe the job in plain words; get the 3 best endpoints from different providers, each health-checked live just now, with its current price quote, its inputs and the reasons — ranked over the whole Coinbase Bazaar catalog by fit, real paying demand and health. Uncharged when nothing passes.","parameters":[{"name":"q","in":"query","required":true,"description":"The job, in plain words (2-300 characters)","schema":{"type":"string"}}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005000"},"protocols":[{"x402":{}}]},"x-guidance":{"approvalRequirement":"APPROVAL_REQUIREMENT_NOT_REQUIRED","costObservedUsd":"0.005000","outputShape":"query, formula_version, recommendations, checked"},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string"},"formula_version":{"type":"string"},"recommendations":{"type":"array","description":"Up to 3, each: resource_url, method, provider, live_quote, input_schema, payers_30d, why"},"checked":{"type":"array","description":"Every endpoint live-checked for this answer and its result"}}},"example":{"query":"check SPF DKIM DMARC for a domain","formula_version":"rank_v1","recommendations":[{"rank":1,"resource_url":"https://email-auth.use.x402atlas.com/check","method":"GET","provider":"third-party","catalog_price_usd":0.01,"live_quote":[{"scheme":"exact","network":"eip155:8453","amount":"10000"}],"payers_30d":9,"why":["close match to the request (key words: dmarc, spf, dkim, domain)","9 paying wallets in the last 30 days","$0.01 per call","passed a live payment-challenge check just now (223 ms)"]}]}}}},"402":{"description":"Payment Required"}}}},"/route/vet":{"get":{"operationId":"getRouteVet","summary":"Vet one x402 endpoint: live check, history, verdict","tags":["route"],"description":"Is this x402 endpoint working right now? Give one endpoint URL from the Coinbase Bazaar catalog; get a live payment-challenge check, its current price quote, its 7/30/90-day check history and paying-wallet trend, and a plain verdict: ok, slow, unstable or failing. Uncharged when the URL is not in the catalog.","parameters":[{"name":"url","in":"query","required":true,"description":"The endpoint's resource URL, exactly as the Bazaar lists it","schema":{"type":"string"}},{"name":"method","in":"query","required":false,"description":"Only when the URL is listed under both methods","schema":{"type":"string","enum":["GET","POST"]}}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002000"},"protocols":[{"x402":{}}]},"x-guidance":{"approvalRequirement":"APPROVAL_REQUIREMENT_NOT_REQUIRED","costObservedUsd":"0.002000","outputShape":"verdict, live_check, live_quote, catalog, history, demand"},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":"object","description":"status (ok | slow | unstable | failing), summary, warnings[]"},"live_check":{"type":"object","description":"passed, result, http_status, latency_ms, rails, checked_at"},"live_quote":{"type":"array","description":"What the endpoint asked for just now: scheme, network, amount, asset, pay_to"},"catalog":{"type":"object","description":"listed, first_seen, last_seen, price_usd, payers_30d, calls_30d"},"history":{"type":"object","description":"Our stored checks over 7/30/90 days, last pass/fail, failing_since"},"demand":{"type":"array","description":"payers_30d, calls_30d and price now and 30/60/90 days ago"}}},"example":{"resource_url":"https://email-auth.use.x402atlas.com/check","method":"GET","provider":"third-party","verdict":{"status":"ok","summary":"Safe to call: it passed a live payment-challenge check just now (184 ms).","warnings":[]},"live_check":{"passed":true,"result":"passed","http_status":402,"latency_ms":184},"live_quote":[{"scheme":"exact","network":"eip155:8453","amount":"10000"}],"catalog":{"listed":true,"price_usd":0.01,"payers_30d":9,"calls_30d":24},"history":{"checks":[{"days":30,"checks":5,"passed":5,"pass_rate":1,"p50_latency_ms":223}],"failing_since":null},"demand":[{"days_ago":0,"day":"2026-10-11","payers_30d":9,"calls_30d":24,"price_usd":0.01}]}}}},"402":{"description":"Payment Required"}}}},"/route/search":{"get":{"operationId":"getRouteSearch","summary":"Rank x402 endpoints for a job (free, 60 an hour)","description":"Free. Ranks the live Coinbase Bazaar catalog for a job described in plain words and returns up to 25 endpoints (default 10) with price, paying wallets, our last health check, the raw signals and a plain-words why[] for each. Uses stored health only; /route/recommend checks live. Limited to 60 searches an hour per client (429 with Retry-After beyond that). POST {\"query\": \"...\"} works too.","tags":["route"],"security":[],"parameters":[{"name":"q","in":"query","required":true,"description":"The job, in plain words (2-300 characters)","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"Results to return, 1-25 (default 10)","schema":{"type":"integer"}}],"responses":{"200":{"description":"Ranked endpoints","content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string"},"formula_version":{"type":"string"},"weights":{"type":"object"},"results":{"type":"array","description":"Each: rank, resource_url, method, provider, price_usd, payers_30d, health, score, signals, why[], input_schema"}}}}}},"400":{"description":"Missing or invalid q / limit"},"429":{"description":"Over the hourly search limit (see Retry-After)"}}}},"/rankings.json":{"get":{"operationId":"getRankingsJson","summary":"Daily top 3 x402 endpoints for 40 agent tasks","description":"Free. The day's frozen rankings: for each of 40 common agent tasks, the top 3 endpoints from three different providers, with the same fields and reasons as /route/search. Updated nightly; the human page is /rankings.","tags":["rankings"],"security":[],"responses":{"200":{"description":"The latest daily snapshot","content":{"application/json":{"schema":{"type":"object","properties":{"day":{"type":"string"},"formula_version":{"type":"string"},"tasks":{"type":"array"}}}}}},"503":{"description":"No snapshot yet (first deploy); retry later"}}}}}}