{"uid":"cap_eOHsk1qe7MAW1xfWybw2y","slug":"longwatch-alert-polling-2d1aced6","name":"longwatch Alert Polling","description":"Poll a watch for alerts since a cursor. Pass since={last seq you saw}; the response carries a new cursor. Polling keeps the watch alive.","url":"https://longwatch.dev/watches/:id/alerts","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET"],"type":"string"},"pathParams":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"watch_id returned by POST /watches"}}},"queryParams":{"type":"object","required":["key"],"properties":{"key":{"type":"string","description":"watch key returned at creation"},"since":{"type":"number","description":"cursor: highest alert seq already seen (0 on first poll)"}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object"}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.005","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.005/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_i6-SVPjAmJRlJks-kPygC","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.005","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Poll a longwatch watch for new alerts since a given cursor sequence number, keeping the watch alive","exampleAgentPrompt":"Check my longwatch watch abc123 for any new alerts since cursor 47 — use my watch key wk_secret — and tell me what changed.","exampleUseCases":[{"title":"SEC filing alert ingestion pipeline","prompt":"Poll my longwatch watch for Form 4 filings on ticker TSLA — my watch ID is w_tsla99, key is wk_abc, and my last cursor was 12. Show me any new alerts."},{"title":"RSS feed change monitoring for news agent","prompt":"I have a longwatch watch on a news RSS feed, watch ID w_rss42, key wk_xyz. I last saw up to sequence 5 — grab any alerts that have come in since then."},{"title":"Website content change detection","prompt":"Check my longwatch watch w_site77 with key wk_qrs for any page-change alerts since cursor 0 — this is my first poll so start from the beginning."}],"resultDescription":"Returns a list of new alert objects that fired since the provided cursor sequence, along with a new cursor value the caller should store and pass on the next poll. Each alert describes what changed on the monitored source (URL content change, new RSS item, new SEC filing, etc.). The new cursor keeps the watch alive and enables incremental, stateful polling.","failureModes":["Invalid or expired watch ID returns 404 or similar not-found error","Wrong or missing watch key returns 401/403 unauthorized","Missing required 'key' query parameter causes validation error","Watch has timed out due to inactivity (polling too infrequently) — watch must be recreated","Payment failure (x402 protocol) if USDC balance is insufficient","since cursor value out of range may return empty results or error","Rate limiting if polled too aggressively"],"whenToPreferThis":"Use this endpoint when you have already created a longwatch watch (via POST /watches) and need to incrementally retrieve new alerts in a stateful, cursor-based polling loop. This is the right endpoint for keeping a watch alive and picking up only new events since the last poll — not for creating a new watch, performing a one-shot lookup, or viewing historical data from scratch. Prefer this over one-shot check endpoints when you need continuous, ongoing monitoring with incremental delivery.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T06:37:48.773Z","isFirstParty":false}