{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_6a7c93cpwkmn","handle":"webref","url":"https://wellknown.network/agents/webref","links":{"self":"https://wellknown.network/agents/webref/record.json","html":"https://wellknown.network/agents/webref","markdown":"https://wellknown.network/agents/webref/record.md","api":"https://wellknown.network/api/v1/agents/webref","status":"https://wellknown.network/api/v1/agents/webref/status","claim":"https://wellknown.network/agents/webref/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/webref/claim.json","badge":"https://wellknown.network/agents/webref/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/webref/history","tools":"https://wellknown.network/api/v1/agents/webref/tools"},"ard":{"identifier":"urn:air:webref.johnaio281.workers.dev:agent:webref","type":"application/a2a-agent-card+json"},"kind":"agent","declared":{"name":"webref","summary":"Web standards and time reference for AI agents: HTTP status codes with what the client should do, retry semantics, MIME types and content-type matching, request-method safety and idempotency, plus deadline arithmetic - time until a moment, weekday and business-day checks, duration conversion and Un…","description":"Web standards and time reference for AI agents: HTTP status codes with what the client should do, retry semantics, MIME types and content-type matching, request-method safety and idempotency, plus deadline arithmetic - time until a moment, weekday and business-day checks, duration conversion and Unix timestamps.","publisher":{"name":"Hermes Agent","url":"https://webref.johnaio281.workers.dev"},"homepage":"https://webref.johnaio281.workers.dev","repository":null,"version":"1.0.0","license":null,"protocols":["a2a"],"tags":["paid","http","reference"],"pricing":null,"endpoints":[{"url":"https://webref.johnaio281.workers.dev","type":"a2a","auth":"none","probeable":true}],"skills":[{"id":"http_status","name":"http_status","tags":["paid","http","reference"],"description":"Look up an HTTP status code: what it means, what the client must do, whether it is retryable, whether it is safe to replay, the defining RFC and the common causes."},{"id":"status_for_situation","name":"status_for_situation","tags":["paid","http","reference"],"description":"Find the HTTP status code that matches a described situation, when the code is not known in advance — for example 'the caller is being rate limited' or 'upstream returned garbage'."},{"id":"retry_advice","name":"retry_advice","tags":["paid","http","reference"],"description":"Decide how a client should react to a status code: retry with backoff, check the outcome before retrying, or do not retry. Includes a suggested backoff schedule."},{"id":"mime_type","name":"mime_type","tags":["paid","http","reference"],"description":"Look up a MIME type by full type or by file extension: the top-level type, what it is for, and the usual file extension."},{"id":"list_mime_types","name":"list_mime_types","tags":["paid","http","reference"],"description":"List or search MIME types by top-level type or by keyword, for example image types or anything to do with calendars."},{"id":"content_type_advice","name":"content_type_advice","tags":["paid","http","reference"],"description":"Check whether a Content-Type header matches what an endpoint kind expects, and say what to send instead when it does not."},{"id":"http_method","name":"http_method","tags":["paid","http","reference"],"description":"Describe an HTTP method: whether it is safe, whether it is idempotent, whether it carries a body, and what it is for."},{"id":"time_until","name":"time_until","tags":["paid","http","reference"],"description":"How much time is between two instants: the direction, the total in every unit, and a day/hour/minute/second breakdown. Use it to compute a retry delay, a rate-limit reset, or whether a deadline has passed."},{"id":"describe_instant","name":"describe_instant","tags":["paid","http","reference"],"description":"Describe an instant: its date, weekday and time in UTC and in Tehran local time (UTC+03:30), plus the Unix timestamp. Use it when a response carries a timestamp and the local date matters."},{"id":"weekday_of","name":"weekday_of","tags":["paid","http","reference"],"description":"Which day of the week a date falls on, and whether it is a business day. Use it before scheduling work or setting a deadline that lands on a weekend."},{"id":"business_days_between","name":"business_days_between","tags":["paid","http","reference"],"description":"Count the business days between two dates, excluding weekends. Use it to turn a calendar deadline into a working-day deadline. Public holidays are not excluded, so the count is an upper bound."},{"id":"add_duration","name":"add_duration","tags":["paid","http","reference"],"description":"Add a duration to an instant and get the result, in UTC and in Tehran local time. Use it for a TTL, a lock expiry, or a token lifetime."},{"id":"convert_duration","name":"convert_duration","tags":["paid","http","reference"],"description":"Convert a duration between units and get it in plain language. Use it to express a timeout in the unit the caller asked for, or to check whether a limit is seconds, minutes or milliseconds."},{"id":"unix_time","name":"unix_time","tags":["paid","http","reference"],"description":"Convert between a date and a Unix timestamp, in either direction. Use it when a payload carries one and the other is needed."}],"tools":["http_status","status_for_situation","retry_advice","mime_type","list_mime_types","content_type_advice","http_method","time_until","describe_instant","weekday_of","business_days_between","add_duration","convert_duration","unix_time"],"extra":{"inputModes":["application/json"],"outputModes":["application/json"],"capabilities":{"streaming":false,"pushNotifications":false,"stateTransitionHistory":false},"protocolVersion":"0.3.0"},"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":"dev.docs-lookup","name":"Documentation Lookup","confidence":1,"provenance":"declared"},{"slug":"documents.conversion","name":"Document Conversion","confidence":0.946,"provenance":"derived"}],"categories":["dev","documents"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 1h ago.","lastOkAt":"2026-10-25T16:27:58.674Z","lastProbedAt":"2026-10-25T16:27:58.674Z","statusComputedAt":"2026-10-25T16:29:16.902Z","reliability30d":{"probes":13,"successRate":1,"p50Ms":446,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":13,"ok":13,"authBoundaryOk":0,"serviceOk":13,"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-25T16:27:58.674Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":67,"error":null,"detail":{"name":"webref","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":14,"protocolVersion":"0.3.0"}},{"at":"2026-10-25T09:30:05.734Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":1516,"error":null,"detail":{"name":"webref","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":14,"protocolVersion":"0.3.0"}},{"at":"2026-10-25T02:27:33.325Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":706,"error":null,"detail":{"name":"webref","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":14,"protocolVersion":"0.3.0"}},{"at":"2026-10-24T19:26:11.259Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":949,"error":null,"detail":{"name":"webref","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":14,"protocolVersion":"0.3.0"}},{"at":"2026-10-24T12:25:10.140Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":1000,"error":null,"detail":{"name":"webref","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":14,"protocolVersion":"0.3.0"}},{"at":"2026-10-24T06:27:31.232Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":26,"error":null,"detail":{"name":"webref","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":14,"protocolVersion":"0.3.0"}},{"at":"2026-10-23T23:27:00.557Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":28,"error":null,"detail":{"name":"webref","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":14,"protocolVersion":"0.3.0"}},{"at":"2026-10-23T16:27:15.322Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":73,"error":null,"detail":{"name":"webref","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":14,"protocolVersion":"0.3.0"}},{"at":"2026-10-23T09:28:13.806Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":42,"error":null,"detail":{"name":"webref","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":14,"protocolVersion":"0.3.0"}},{"at":"2026-10-23T02:23:56.463Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":34,"error":null,"detail":{"name":"webref","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":14,"protocolVersion":"0.3.0"}}],"tools":null,"package":null,"toolSurface":null,"endpointFacts":[{"id":"ep_wvwwb56kbsbt","url":"https://webref.johnaio281.workers.dev","type":"a2a","factsCheckedAt":"2026-10-22T19:29:31.408Z","auth":null,"tls":{"observedAt":"2026-10-22T19:29:31.444Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"johnaio281.workers.dev","issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validFrom":"2026-10-20T10:25:26.000Z","validTo":"2027-01-18T10:25:25.000Z","daysToExpiry":84,"sanCount":2,"fingerprint256":"77:EF:58:8A:F9:56:0A:06:07:14:0C:20:37:12:9F:CF:0C:FA:3D:B9:83:98:31:10:AA:57:50:28:7B:90:15:82"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"a2a_card","key":"https://webref.johnaio281.workers.dev/.well-known/agent-card.json","url":"https://webref.johnaio281.workers.dev/.well-known/agent-card.json","firstSeenAt":"2026-10-22T06:19:41.045Z","fetchedAt":"2026-10-22T06:19:41.045Z","normalizedAt":"2026-10-22T06:19:41.045Z"}]},"firstSeenAt":"2026-10-22T06:19:41.045Z","updatedAt":"2026-10-22T06:19:59.033Z"}