{"server":"cc.rockpool.ai-deals/ai-deals-sentinel","count":8,"changes":[{"tool":"get_offer","kind":"changed","observed_at":"2026-10-05T14:12:00.812Z","fields":["outputSchema"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"35c486d392e376a93f18cb4196e94bbe","after_hash":"6be50e6721311e74464e462a63f1b3a3"},{"tool":"find_free_inference","kind":"changed","observed_at":"2026-10-05T14:12:00.812Z","fields":["outputSchema"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"1edd861852c264e0b3b447348f4df665","after_hash":"21694e5896498f745b1fc9153f5d1ef4"},{"tool":"check_api_health","kind":"changed","observed_at":"2026-10-03T00:37:31.281Z","fields":["description"],"description_before":"The last measured liveness of free, no-key public data APIs: HTTP status and latency from one read-only GET per API, with the generated_at of that measurement. status SLOW means the API timed out at 10s and answered a 45s re-probe (works, not fast); DOWN means no answer within 45s. Note counts.measured excludes SKIP rows, which were never called — use it as the health denominator, not counts.total.","description_after":"The last measured liveness of free public data APIs (weather, geo, finance, knowledge, news, public-health and developer APIs): HTTP status and latency from one read-only GET per API, with the generated_at of that measurement. status SLOW means the API timed out at 10s and answered a 45s re-probe (works, not fast); DOWN means no answer within 45s; SKIP means the API needs a key and was not called. counts.measured excludes SKIP rows, so it is the health denominator, not counts.total. It does not measure AI model provider APIs.","description_similarity":0.712,"before_hash":"89a5eeb03f1fcc2e39a3357ca47c40b5","after_hash":"7f3dc5d2ecda14b69e5719115dedbf77"},{"tool":"get_offer","kind":"changed","observed_at":"2026-10-03T00:37:31.281Z","fields":["description"],"description_before":"Full detail for one provider's offer, including caveats, access barrier, source_url and verified_at. On no match returns nearest candidates rather than an empty result.","description_after":"Full record for one provider's offer, matched by provider or offer name: limits, caveats, deal_type, offer_status, access (what the first call needs, such as api-key or credit-card; or null, which is not a sign that no card is needed), expires_at, source_url, verified_at and verified_days_ago. offer_status is available, retired, unverified, or none (checked, and no free API path was found). Covers questions such as whether a provider has a free API, whether its free tier is still on as of verified_at, what its free limits are, and whether a card is needed. On no match it returns the nearest candidates rather than an empty result.","description_similarity":0.312,"before_hash":"daefcc26111f67423979298f3086ec6f","after_hash":"35c486d392e376a93f18cb4196e94bbe"},{"tool":"find_free_inference","kind":"changed","observed_at":"2026-10-03T00:37:31.281Z","fields":["description"],"description_before":"Find free tiers, trial credits and discounts on AI APIs an agent can use. Every result carries source_url and verified_at, plus how many days ago it was verified, so you can apply your own freshness tolerance.","description_after":"Lists free tiers, signup credits, trial credits and discounts on AI APIs: inference, GPU, search, embeddings, vector databases, speech and vision, eval and observability, and compute sandboxes. Filters by capability and by provider or offer name. Each row gives limits, offer_status, access (what the first call needs: api-key, credit-card, oauth, web-form, phone-verification, account or none, or null), source_url, verified_at and verified_days_ago. A row with access credit-card needs a payment card to get that offer; a null access is not a sign of card-free access. Rows state what the provider advertised on verified_at, not today.","description_similarity":0.161,"before_hash":"3b16e8367c08f2959af282b7f0ee9e4f","after_hash":"1edd861852c264e0b3b447348f4df665"},{"tool":"check_api_health","kind":"changed","observed_at":"2026-10-02T11:35:26.966Z","fields":["outputSchema","annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"e2a966b5d524e028e11941797db92f10","after_hash":"89a5eeb03f1fcc2e39a3357ca47c40b5"},{"tool":"get_offer","kind":"changed","observed_at":"2026-10-02T11:35:26.966Z","fields":["outputSchema","annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"d704087c74b4fb0e8a4cda4546e6176c","after_hash":"daefcc26111f67423979298f3086ec6f"},{"tool":"find_free_inference","kind":"changed","observed_at":"2026-10-02T11:35:26.966Z","fields":["outputSchema","annotations"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"22ccb5d3e6b12dd60d1ca3dd7978458b","after_hash":"3b16e8367c08f2959af282b7f0ee9e4f"}],"next_before":null,"next_actions":[]}