{"pricing":{"currency":"USD","unit":"cents","free":{"watches":5,"min_interval_s":300,"note":"The first 5 active watches at 300s or slower cost nothing. Any type."},"paid":[{"tier":"standard","types":["http","tls","content"],"min_interval_s":60,"cents_per_day":2},{"tier":"fast","types":["http","tls","content"],"min_interval_s":30,"cents_per_day":7},{"tier":"deadman","types":["deadman"],"min_interval_s":60,"cents_per_day":1},{"tier":"overrun","types":["overrun"],"max_runtime_s":[60,86400],"cents_per_day":1,"note":"no interval to choose: checked at each run's deadline; counts toward the free five like any watch"}],"limits":{"content":{"max_body_bytes":262144,"max_conditions":5,"conditions":["status","contains","not_contains","json_path + equals","json_path + exists"],"regex":false},"overrun":{"max_runtime_s":[60,86400]}},"billing":{"debit":"daily at 00:10 UTC per active paid watch","register_requires":"balance >= one day of burn including the new watch, when the watch is paid","pause":"a watch pauses (event: paused) when the balance can't cover its day","low_balance":"one callback (event: low_balance) when balance < 3 days of burn, reset by a top-up"},"topup":{"min_usd":5,"options_usd":[5,20,50],"routes":["https://api.ned.watch/v1/topup/5","https://api.ned.watch/v1/topup/20","https://api.ned.watch/v1/topup/50"],"rail":{"x402":{"network":"eip155:8453","asset":"USDC","asset_address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","how":"POST the route with no payment to receive x402 payment requirements; retry with PAYMENT-SIGNATURE"},"card":"coming"}},"pricing_url":"https://api.ned.watch/v1/pricing"},"name":"Ned Watch","description":"Register a URL, condition, or deadline; Ned wakes you at your callback when it fires. Independent, multi-region, signed.","url":"https://api.ned.watch","watch_types":["deadman","overrun","http","content","tls"],"version":"1.7","provider":{"organization":"Ned Watch","url":"https://ned.watch"},"iconUrl":"https://ned.watch/brand/sweepthrough-dark-512.png","image":"https://ned.watch/brand/instrument-open-512.png","capabilities":{"streaming":false,"pushNotifications":true},"skills":[{"id":"watch.deadman","name":"Dead-man switch","description":"You check in on a schedule (POST /v1/checkin/{id} with Authorization: Bearer <signing_secret>); Ned fires your callback if you go silent."},{"id":"watch.http","name":"HTTP watch","description":"Fires when a URL is down, returns an unexpected status, or exceeds a latency threshold."},{"id":"watch.tls","name":"TLS watch","description":"Fires when a certificate is within N days of expiry or the handshake fails."},{"id":"watch.overrun","name":"Overrun watch","description":"POST /v1/watches/{id}/start when a run begins and /finish when it ends (Authorization: Bearer <signing_secret>); Ned fires once if it's still running after max_runtime_s, and clears with late:true and the runtime when it finishes."},{"id":"watch.content","name":"Content watch","description":"The page answers 200 but says the wrong thing: status, contains, not_contains, json_path equals/exists (no regex, 256 KB max). The callback names the failed condition, never the page's content."}],"authentication":{"schemes":["bearer"],"note":"POST /v1/watches without a key to receive one."},"endpoints":{"register":"https://api.ned.watch/v1/watches","docs":"https://api.ned.watch/docs"},"nodes":["watch-us","watch-eu"],"replication":true,"contact":"ned@ned.watch"}