{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_u9a42jgqx8ca","handle":"cityalert-cityalert","url":"https://wellknown.network/agents/cityalert-cityalert","links":{"self":"https://wellknown.network/agents/cityalert-cityalert/record.json","html":"https://wellknown.network/agents/cityalert-cityalert","markdown":"https://wellknown.network/agents/cityalert-cityalert/record.md","api":"https://wellknown.network/api/v1/agents/cityalert-cityalert","status":"https://wellknown.network/api/v1/agents/cityalert-cityalert/status","claim":"https://wellknown.network/agents/cityalert-cityalert/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/cityalert-cityalert/claim.json","badge":"https://wellknown.network/agents/cityalert-cityalert/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/cityalert-cityalert/history","tools":"https://wellknown.network/api/v1/agents/cityalert-cityalert/tools"},"ard":{"identifier":"urn:air:cityalert.live:agent:cityalert-cityalert","type":"application/a2a-agent-card+json"},"kind":"agent","declared":{"name":"CityAlert","summary":"Live public-safety incident map: global crime, fire, disaster, severe weather and safety news from official feeds, media reports and community reports. Read tools are free; a paid x-api-key unlocks refresh and historical depth.","description":"Live public-safety incident map: global crime, fire, disaster, severe weather and safety news from official feeds, media reports and community reports. Read tools are free; a paid x-api-key unlocks refresh and historical depth.","publisher":{"name":"CityAlert","url":"https://cityalert.live"},"homepage":"https://cityalert.live/developers","repository":null,"version":"0.1.0","license":null,"protocols":["a2a"],"tags":["regions","discovery","read","free","incidents","crime","fire","disaster","weather","live","trends","historical","statistics","paid","vancouver","yearly","news","headlines","safety","report","community","write","dashboard"],"pricing":null,"endpoints":[{"url":"https://cityalert.live","type":"a2a","auth":"apikey","probeable":true}],"skills":[{"id":"list_regions","name":"List covered regions","tags":["regions","discovery","read","free"],"description":"Focus regions (key, label, center, zoom, bbox). Keys feed get_incidents.region."},{"id":"get_incidents","name":"Get live incidents","tags":["incidents","crime","fire","disaster","weather","live","read","free"],"description":"Merged live incidents from all feeds plus manual reports — filter by region, category, severity, source, bbox or free text."},{"id":"get_trends","name":"Get historical trends","tags":["trends","historical","statistics","read","paid"],"description":"Aggregates over years, not live data: crime by year/month/type, M4+ quakes per region, GDACS events, report stats. For questions about patterns over time. API key required."},{"id":"get_crime_year","name":"Get crime year detail","tags":["crime","vancouver","yearly","read","paid"],"description":"Full-year crime totals and ranked neighbourhood stats. Vancouver only, 2003-present. API key required."},{"id":"get_news","name":"Get safety news","tags":["news","headlines","safety","read","free"],"description":"Per-region safety headlines, or news for an arbitrary place name. Links to original publishers."},{"id":"submit_report","name":"Submit incident report","tags":["report","community","write","free"],"description":"File a geolocated community incident report. Moderated before public display; 20/hour via MCP."},{"id":"get_dashboard","name":"Get dashboard","tags":["dashboard","read","free"],"description":"Read a saved shareable dashboard by id."},{"id":"create_dashboard","name":"Create dashboard","tags":["dashboard","write","free"],"description":"Create a shareable dashboard; returns {id, token} — the token grants write access."}],"tools":["List covered regions","Get live incidents","Get historical trends","Get crime year detail","Get safety news","Submit incident report","Get dashboard","Create dashboard"],"extra":{"inputModes":["application/json"],"outputModes":["application/json"],"capabilities":{"streaming":false,"pushNotifications":false}},"attribution":{"kind":"a2a_card","name":"a2a_card","summary":"a2a_card","version":"a2a_card","description":"a2a_card","homepageUrl":"a2a_card","publisherUrl":"a2a_card","publisherName":"a2a_card"}},"derived":{"capabilities":[{"slug":"data.news","name":"News & Feeds","confidence":1,"provenance":"declared"},{"slug":"data.weather","name":"Weather","confidence":1,"provenance":"declared"},{"slug":"analytics.reporting","name":"Reporting & Dashboards","confidence":1,"provenance":"declared"}],"categories":["analytics","data"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 4h ago.","lastOkAt":"2026-10-18T03:26:43.608Z","lastProbedAt":"2026-10-18T03:26:43.608Z","statusComputedAt":"2026-10-18T03:28:10.861Z","reliability30d":{"probes":35,"successRate":0.9714,"p50Ms":245,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":35,"ok":34,"authBoundaryOk":0,"serviceOk":34,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-18T03:26:43.608Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":211,"error":null,"detail":{"name":"CityAlert","signed":false,"version":"0.1.0","cardPath":"/.well-known/agent-card.json","skillCount":8}},{"at":"2026-10-17T21:28:58.611Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":205,"error":null,"detail":{"name":"CityAlert","signed":false,"version":"0.1.0","cardPath":"/.well-known/agent-card.json","skillCount":8}},{"at":"2026-10-17T15:25:33.475Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":322,"error":null,"detail":{"name":"CityAlert","signed":false,"version":"0.1.0","cardPath":"/.well-known/agent-card.json","skillCount":8}},{"at":"2026-10-17T08:27:13.587Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":220,"error":null,"detail":{"name":"CityAlert","signed":false,"version":"0.1.0","cardPath":"/.well-known/agent-card.json","skillCount":8}},{"at":"2026-10-17T02:23:23.356Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":194,"error":null,"detail":{"name":"CityAlert","signed":false,"version":"0.1.0","cardPath":"/.well-known/agent-card.json","skillCount":8}},{"at":"2026-10-16T19:26:53.951Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":1240,"error":null,"detail":{"name":"CityAlert","signed":false,"version":"0.1.0","cardPath":"/.well-known/agent-card.json","skillCount":8}},{"at":"2026-10-16T12:32:02.607Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":682,"error":null,"detail":{"name":"CityAlert","signed":false,"version":"0.1.0","cardPath":"/.well-known/agent-card.json","skillCount":8}},{"at":"2026-10-16T06:30:03.501Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":262,"error":null,"detail":{"name":"CityAlert","signed":false,"version":"0.1.0","cardPath":"/.well-known/agent-card.json","skillCount":8}},{"at":"2026-10-15T23:27:17.677Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":218,"error":null,"detail":{"name":"CityAlert","signed":false,"version":"0.1.0","cardPath":"/.well-known/agent-card.json","skillCount":8}},{"at":"2026-10-15T17:32:12.306Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":237,"error":null,"detail":{"name":"CityAlert","signed":false,"version":"0.1.0","cardPath":"/.well-known/agent-card.json","skillCount":8}}],"tools":null,"package":null,"toolSurface":null,"endpointFacts":[{"id":"ep_g6kps4bevry5","url":"https://cityalert.live","type":"a2a","factsCheckedAt":"2026-10-13T20:27:01.069Z","auth":null,"tls":{"observedAt":"2026-10-13T20:27:01.084Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"cityalert.live","issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validFrom":"2026-09-16T01:15:15.000Z","validTo":"2026-12-15T01:15:14.000Z","daysToExpiry":57,"sanCount":2,"fingerprint256":"0F:C3:BB:58:4E:0E:1E:3F:06:45:B9:73:D5:8B:22:28:EF:CF:82:C6:45:81:5E:EC:04:5F:F4:0B:AB:7D:6F:58"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"a2a_card","key":"https://cityalert.live/.well-known/agent-card.json","url":"https://cityalert.live/.well-known/agent-card.json","firstSeenAt":"2026-10-08T18:23:18.035Z","fetchedAt":"2026-10-08T18:23:18.035Z","normalizedAt":"2026-10-08T18:23:18.035Z"}]},"firstSeenAt":"2026-10-08T18:23:18.035Z","updatedAt":"2026-10-08T18:23:24.924Z"}