{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_6xn5b3r9dhvm","handle":"rowb-app-sg-parking-live","url":"https://wellknown.network/agents/rowb-app-sg-parking-live","links":{"self":"https://wellknown.network/agents/rowb-app-sg-parking-live/record.json","html":"https://wellknown.network/agents/rowb-app-sg-parking-live","markdown":"https://wellknown.network/agents/rowb-app-sg-parking-live/record.md","api":"https://wellknown.network/api/v1/agents/rowb-app-sg-parking-live","status":"https://wellknown.network/api/v1/agents/rowb-app-sg-parking-live/status","claim":"https://wellknown.network/agents/rowb-app-sg-parking-live/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/rowb-app-sg-parking-live/claim.json","badge":"https://wellknown.network/agents/rowb-app-sg-parking-live/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/rowb-app-sg-parking-live/history","tools":"https://wellknown.network/api/v1/agents/rowb-app-sg-parking-live/tools"},"ard":{"identifier":"urn:air:sg-parking-live.rowb.app:agent:rowb-app-sg-parking-live","type":"application/a2a-agent-card+json"},"kind":"agent","declared":{"name":"SG Parking Live","summary":"Live HDB carpark availability for Singapore with snapshot history and lookups by carpark code. Free public data, deterministic lookups, MCP tools included. This service is a plain REST API and an MCP server over Streamable HTTP - it is NOT an A2A JSON-RPC agent. Docs at the documentationUrl.","description":"Live HDB carpark availability for Singapore with snapshot history and lookups by carpark code. Free public data, deterministic lookups, MCP tools included. This service is a plain REST API and an MCP server over Streamable HTTP - it is NOT an A2A JSON-RPC agent. Docs at the documentationUrl.","publisher":{"name":"rowb.app","url":"https://rowb.app"},"homepage":"https://sg-parking-live.rowb.app/llms.txt","repository":null,"version":"1.0.0","license":null,"protocols":["a2a"],"tags":["mcp"],"pricing":null,"endpoints":[{"url":"https://sg-parking-live.rowb.app","type":"a2a","auth":"none","probeable":true}],"skills":[{"id":"health_check","name":"health_check","tags":["mcp"],"description":"Report whether this service is up and which version answered. Use it to confirm the endpoint is reachable before running a real job."},{"id":"list_carparks","name":"list_carparks","tags":["mcp"],"description":"List HDB carpark codes known from the live Singapore data.gov.sg feed (optionally filtered by code prefix)."},{"id":"get_carpark_availability","name":"get_carpark_availability","tags":["mcp"],"description":"Current lots available per lot type for one HDB carpark code (live from data.gov.sg)."},{"id":"get_carpark_history","name":"get_carpark_history","tags":["mcp"],"description":"Our stored snapshot history for one carpark code (availability sampled since launch). Deterministic read of our own snapshots."}],"tools":["health_check","list_carparks","get_carpark_availability","get_carpark_history"],"extra":{"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"],"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":[],"categories":[],"language":"en"},"observed":{"status":"live","statusReason":"Responded 11m ago.","lastOkAt":"2026-10-19T20:31:01.362Z","lastProbedAt":"2026-10-19T20:31:01.362Z","statusComputedAt":"2026-10-19T20:33:51.120Z","reliability30d":{"probes":62,"successRate":1,"p50Ms":88,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":62,"ok":62,"authBoundaryOk":0,"serviceOk":62,"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-19T20:31:01.362Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":81,"error":null,"detail":{"name":"SG Parking Live","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":4}},{"at":"2026-10-19T13:26:26.265Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":42,"error":null,"detail":{"name":"SG Parking Live","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":4}},{"at":"2026-10-19T06:25:53.663Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":196,"error":null,"detail":{"name":"SG Parking Live","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":4}},{"at":"2026-10-18T23:28:36.255Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":37,"error":null,"detail":{"name":"SG Parking Live","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":4}},{"at":"2026-10-18T16:35:48.270Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":47,"error":null,"detail":{"name":"SG Parking Live","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":4}},{"at":"2026-10-18T09:29:53.742Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":28,"error":null,"detail":{"name":"SG Parking Live","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":4}},{"at":"2026-10-18T03:24:58.273Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":12,"error":null,"detail":{"name":"SG Parking Live","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":4}},{"at":"2026-10-17T20:32:02.509Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":48,"error":null,"detail":{"name":"SG Parking Live","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":4}},{"at":"2026-10-17T13:27:15.429Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":14,"error":null,"detail":{"name":"SG Parking Live","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":4}},{"at":"2026-10-17T07:25:24.663Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":46,"error":null,"detail":{"name":"SG Parking Live","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":4}}],"tools":null,"package":null,"toolSurface":null,"endpointFacts":[{"id":"ep_7gm9fqa4bdrj","url":"https://sg-parking-live.rowb.app","type":"a2a","factsCheckedAt":"2026-10-18T23:28:36.269Z","auth":null,"tls":{"observedAt":"2026-10-18T23:28:36.283Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"rowb.app","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-10-02T15:21:56.000Z","validTo":"2026-12-31T16:21:42.000Z","daysToExpiry":72,"sanCount":3,"fingerprint256":"18:2E:8F:A6:7A:75:19:71:0B:D7:2C:BD:B7:B9:77:4D:5B:F0:28:94:63:F0:0C:26:A3:D5:FC:D3:BF:C7:C7:78"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"a2a_card","key":"https://sg-parking-live.rowb.app/.well-known/agent-card.json","url":"https://sg-parking-live.rowb.app/.well-known/agent-card.json","firstSeenAt":"2026-10-03T06:19:46.720Z","fetchedAt":"2026-10-17T11:19:26.230Z","normalizedAt":"2026-10-17T11:19:26.230Z"}]},"firstSeenAt":"2026-10-03T06:19:46.720Z","updatedAt":"2026-10-03T06:19:50.247Z"}