{"name":"webref","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.","version":"1.0.0","url":"https://webref.johnaio281.workers.dev","protocolVersion":"0.3.0","preferredTransport":"JSONRPC","defaultInputModes":["application/json"],"defaultOutputModes":["application/json"],"provider":{"organization":"Hermes Agent","url":"https://webref.johnaio281.workers.dev"},"payments":[{"rail":"x402","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","assetSymbol":"USDC","payTo":"0x326F9DBB7027F5aB8be9956353dFF62b6a05Dc29"},{"rail":"mpp","network":"eip155:4217","asset":"0x20c000000000000000000000b9537d11c60E8b50","assetSymbol":"USDC","payTo":"0x326F9DBB7027F5aB8be9956353dFF62b6a05Dc29"}],"capabilities":{"streaming":false,"pushNotifications":false,"stateTransitionHistory":false},"skills":[{"id":"http_status","name":"http_status","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.","tags":["paid","http","reference"],"examples":["https://webref.johnaio281.workers.dev/api/http_status"]},{"id":"status_for_situation","name":"status_for_situation","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'.","tags":["paid","http","reference"],"examples":["https://webref.johnaio281.workers.dev/api/status_for_situation"]},{"id":"retry_advice","name":"retry_advice","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.","tags":["paid","http","reference"],"examples":["https://webref.johnaio281.workers.dev/api/retry_advice"]},{"id":"mime_type","name":"mime_type","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.","tags":["paid","http","reference"],"examples":["https://webref.johnaio281.workers.dev/api/mime_type"]},{"id":"list_mime_types","name":"list_mime_types","description":"List or search MIME types by top-level type or by keyword, for example image types or anything to do with calendars.","tags":["paid","http","reference"],"examples":["https://webref.johnaio281.workers.dev/api/list_mime_types"]},{"id":"content_type_advice","name":"content_type_advice","description":"Check whether a Content-Type header matches what an endpoint kind expects, and say what to send instead when it does not.","tags":["paid","http","reference"],"examples":["https://webref.johnaio281.workers.dev/api/content_type_advice"]},{"id":"http_method","name":"http_method","description":"Describe an HTTP method: whether it is safe, whether it is idempotent, whether it carries a body, and what it is for.","tags":["paid","http","reference"],"examples":["https://webref.johnaio281.workers.dev/api/http_method"]},{"id":"time_until","name":"time_until","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.","tags":["paid","http","reference"],"examples":["https://webref.johnaio281.workers.dev/api/time_until"]},{"id":"describe_instant","name":"describe_instant","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.","tags":["paid","http","reference"],"examples":["https://webref.johnaio281.workers.dev/api/describe_instant"]},{"id":"weekday_of","name":"weekday_of","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.","tags":["paid","http","reference"],"examples":["https://webref.johnaio281.workers.dev/api/weekday_of"]},{"id":"business_days_between","name":"business_days_between","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.","tags":["paid","http","reference"],"examples":["https://webref.johnaio281.workers.dev/api/business_days_between"]},{"id":"add_duration","name":"add_duration","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.","tags":["paid","http","reference"],"examples":["https://webref.johnaio281.workers.dev/api/add_duration"]},{"id":"convert_duration","name":"convert_duration","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.","tags":["paid","http","reference"],"examples":["https://webref.johnaio281.workers.dev/api/convert_duration"]},{"id":"unix_time","name":"unix_time","description":"Convert between a date and a Unix timestamp, in either direction. Use it when a payload carries one and the other is needed.","tags":["paid","http","reference"],"examples":["https://webref.johnaio281.workers.dev/api/unix_time"]}],"documentation":{"openapi":"https://webref.johnaio281.workers.dev/openapi.json","x402":"https://webref.johnaio281.workers.dev/.well-known/x402","mcp":"https://webref.johnaio281.workers.dev/mcp","skill":"https://webref.johnaio281.workers.dev/.well-known/skill.md","llms":"https://webref.johnaio281.workers.dev/llms.txt"},"securitySchemes":{}}