{"openapi":"3.1.0","info":{"title":"Date, Time, Duration & Calendar Toolkit","version":"0.1.0","description":"Dates and time: timezone conversion and business-day math; ISO-8601 duration parse/format/humanize/add/between; and calendar math — Julian Day Number conversion, weekday, ISO week, Easter and day-of-year.","x-guidance":"Dates and time: timezone conversion and business-day math; ISO-8601 duration parse/format/humanize/add/between; and calendar math — Julian Day Number conversion, weekday, ISO week, Easter and day-of-year. Each operation is an HTTP POST to its /v1/<operation> path with a JSON request body (see each operation's requestBody schema) and returns a JSON response. Endpoints are paid per successful call via x402 or MPP (USDC on Base); an unpaid request returns 402 with payment metadata in the WWW-Authenticate header.","contact":{"email":"hello@openverbs.com"}},"x-discovery":{"ownershipProofs":["0xb1401a71756f51464a9962db12f1eb3e9522490cd20010b06d00cf7b7770acfd5f79721f9dfdf2643f8cecd29af3bde9ec133941a386042b32d9886053a70de61b","0xc1c1f11793e18a00fcb7072421f26e89fb75b6aa517fa84370564991f4b10efa024f6f57e4e67eefd20cf46cc01fc5a62d793fa8fbcda04f26c946a3433d73f91b","0x676b474af0ef9ed4809b5d12d2e789b36e52d56215b21f601d71f76620e36ec630347116a7b2b349a3c3681e5db0fbfa76c4169a676b6d6f27864d0e5017284a1c","0xc2ab96522515ed9e9bc4f1a241b774bd48df42e951ddbf7f6aa8fc76f5a96a20421703e1ec402ce7eb1e4eabea3b6e4e4129cf39d56ea91cf4fcf38561fc94fc1c"]},"servers":[{"url":"https://datetime.openverbs.com"}],"paths":{"/health":{"get":{"summary":"Health check","security":[],"responses":{"200":{"description":"Healthy","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"service":{"type":"string"},"version":{"type":"string"}}}}}}}}},"/v1/convert":{"post":{"summary":"Convert timezone","description":"Convert an ISO datetime into another timezone, with offset, weekday and Unix time. Paid endpoint (x402 + MPP). Price: $0.002000 USDC per successful payment.","tags":["convert timezone","timezone conversion api","date time zone convert","iana timezone lookup","world time conversion","convert iso datetime"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"datetime":{"type":"string","description":"ISO 8601 datetime, e.g. \"2025-07-04T12:00:00\". Assumed UTC if it has no offset and no `from`."},"from":{"type":"string","description":"Source IANA timezone for offset-less input, e.g. \"America/New_York\"."},"to":{"type":"string","description":"Target IANA timezone, e.g. \"Asia/Tokyo\"."}},"required":["datetime","to"],"additionalProperties":false},"example":{"datetime":"2024-01-15T10:30:00Z","to":"Europe/Madrid"}}}},"responses":{"200":{"description":"The converted `iso` datetime in the `to` zone, its `offset`, `weekday`, `unix` seconds and resolved `from` zone.","content":{"application/json":{"schema":{"type":"object","description":"The converted `iso` datetime in the `to` zone, its `offset`, `weekday`, `unix` seconds and resolved `from` zone."}}}},"400":{"description":"Invalid request; no payment is attempted"},"402":{"description":"Payment required; x402/MPP metadata returned in headers"},"502":{"description":"Upstream provider error after payment verification"}},"x-payment-info":{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Convert an ISO datetime into another timezone, with offset, weekday and Unix time.","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.002000"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"evm","intent":"charge","network":"8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"tempo","intent":"charge","network":"4217","currency":"0x20c000000000000000000000b9537d11c60e8b50","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}}],"network":"4217","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","offers":[{"amount":"2000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Convert an ISO datetime into another timezone, with offset, weekday and Unix time.","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Convert an ISO datetime into another timezone, with offset, weekday and Unix time.","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}},"/v1/business-days":{"post":{"summary":"Business-day math","description":"Add/subtract business days to a date, or count business days between two dates — skipping weekends and optional holidays. Paid endpoint (x402 + MPP). Price: $0.002000 USDC per successful payment.","tags":["business day math","add business days","count business days","skip weekends holidays","working days calculator","business date calculator"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"start":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}","description":"Start date (YYYY-MM-DD)."},"days":{"type":"integer","minimum":-3650,"maximum":3650,"description":"Business days to add (negative to subtract). Provide this OR `end`."},"end":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}","description":"End date to count business days to. Provide this OR `days`."},"timezone":{"type":"string","description":"IANA timezone. Defaults to UTC."},"weekend":{"type":"array","items":{"type":"integer","minimum":1,"maximum":7},"description":"Weekend weekdays (Mon=1 … Sun=7). Defaults to [6,7]."},"holidays":{"type":"array","items":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}"},"description":"Extra non-working dates to skip (YYYY-MM-DD)."}},"required":["start"],"additionalProperties":false},"example":{"start":"2024-01-15","days":5}}}},"responses":{"200":{"description":"In `add` mode the resulting `end` date; in `count` mode the number of `businessDays` between `start` and `end`.","content":{"application/json":{"schema":{"type":"object","description":"In `add` mode the resulting `end` date; in `count` mode the number of `businessDays` between `start` and `end`."}}}},"400":{"description":"Invalid request; no payment is attempted"},"402":{"description":"Payment required; x402/MPP metadata returned in headers"},"502":{"description":"Upstream provider error after payment verification"}},"x-payment-info":{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Add/subtract business days to a date, or count business days between two dates — skipping weekends and optional holidays.","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.002000"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"evm","intent":"charge","network":"8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"tempo","intent":"charge","network":"4217","currency":"0x20c000000000000000000000b9537d11c60e8b50","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}}],"network":"4217","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","offers":[{"amount":"2000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Add/subtract business days to a date, or count business days between two dates — skipping weekends and optional holidays.","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Add/subtract business days to a date, or count business days between two dates — skipping weekends and optional holidays.","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}},"/v1/parse":{"post":{"summary":"Parse an ISO 8601 duration","description":"Parse an ISO 8601 duration such as 'P1Y2M10DT2H30M' into its components. Returns a normalized ISO string and totalSeconds — but totalSeconds is null when the duration contains years or months, because those are calendar-variable (use /v1/add or /v1/between for exact date math). Paid endpoint (x402 + MPP). Price: $0.002000 USDC per successful payment.","tags":["parse iso duration","iso 8601 duration parse","duration components","period string parser","parse duration api","duration to seconds"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"duration":{"type":"string","minLength":2,"maxLength":128,"description":"ISO 8601 duration, e.g. 'P3W' or 'PT1H30M'."}},"required":["duration"],"additionalProperties":false},"example":{"duration":"P1Y2M10DT2H30M"}}}},"responses":{"200":{"description":"`{ sign, components, calendarDependent, totalSeconds, iso }`.","content":{"application/json":{"schema":{"type":"object","description":"`{ sign, components, calendarDependent, totalSeconds, iso }`."}}}},"400":{"description":"Invalid request; no payment is attempted"},"402":{"description":"Payment required; x402/MPP metadata returned in headers"},"502":{"description":"Upstream provider error after payment verification"}},"x-payment-info":{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Parse an ISO 8601 duration such as 'P1Y2M10DT2H30M' into its components. Returns a normalized ISO string and totalSeconds — but totalSeconds is null when the duration contains years or months, because those are calendar-variable (use /v1/add or /v1/between for exact date math).","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.002000"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"evm","intent":"charge","network":"8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"tempo","intent":"charge","network":"4217","currency":"0x20c000000000000000000000b9537d11c60e8b50","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}}],"network":"4217","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","offers":[{"amount":"2000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Parse an ISO 8601 duration such as 'P1Y2M10DT2H30M' into its components. Returns a normalized ISO string and totalSeconds — but totalSeconds is null when the duration contains years or months, because those are calendar-variable (use /v1/add or /v1/between for exact date math).","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Parse an ISO 8601 duration such as 'P1Y2M10DT2H30M' into its components. Returns a normalized ISO string and totalSeconds — but totalSeconds is null when the duration contains years or months, because those are calendar-variable (use /v1/add or /v1/between for exact date math).","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}},"/v1/format":{"post":{"summary":"Build an ISO 8601 duration","description":"Assemble an ISO 8601 duration string from individual components (years, months, weeks, days, hours, minutes, seconds) and an optional sign. All components must be non-negative and at least one must be non-zero. Paid endpoint (x402 + MPP). Price: $0.002000 USDC per successful payment.","tags":["format iso duration","build iso duration","duration string builder","components to duration","create period string","iso 8601 period format"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"years":{"type":"number","minimum":0,"description":"Years."},"months":{"type":"number","minimum":0,"description":"Months."},"weeks":{"type":"number","minimum":0,"description":"Weeks."},"days":{"type":"number","minimum":0,"description":"Days."},"hours":{"type":"number","minimum":0,"description":"Hours."},"minutes":{"type":"number","minimum":0,"description":"Minutes."},"seconds":{"type":"number","minimum":0,"description":"Seconds."},"sign":{"type":"integer","enum":[1,-1],"description":"Overall sign. Default 1."}},"additionalProperties":false}}}},"responses":{"200":{"description":"`{ iso }`.","content":{"application/json":{"schema":{"type":"object","description":"`{ iso }`."}}}},"400":{"description":"Invalid request; no payment is attempted"},"402":{"description":"Payment required; x402/MPP metadata returned in headers"},"502":{"description":"Upstream provider error after payment verification"}},"x-payment-info":{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Assemble an ISO 8601 duration string from individual components (years, months, weeks, days, hours, minutes, seconds) and an optional sign. All components must be non-negative and at least one must be non-zero.","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.002000"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"evm","intent":"charge","network":"8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"tempo","intent":"charge","network":"4217","currency":"0x20c000000000000000000000b9537d11c60e8b50","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}}],"network":"4217","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","offers":[{"amount":"2000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Assemble an ISO 8601 duration string from individual components (years, months, weeks, days, hours, minutes, seconds) and an optional sign. All components must be non-negative and at least one must be non-zero.","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Assemble an ISO 8601 duration string from individual components (years, months, weeks, days, hours, minutes, seconds) and an optional sign. All components must be non-negative and at least one must be non-zero.","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}},"/v1/humanize":{"post":{"summary":"Humanize an ISO 8601 duration","description":"Render an ISO 8601 duration as an English phrase, e.g. 'P1Y2M' → '1 year and 2 months'. Components are shown in descending order with correct pluralization. Paid endpoint (x402 + MPP). Price: $0.002000 USDC per successful payment.","tags":["humanize duration","duration to text","iso duration human readable","period humanizer","explain duration string","duration phrase"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"duration":{"type":"string","minLength":2,"maxLength":128,"description":"ISO 8601 duration."}},"required":["duration"],"additionalProperties":false},"example":{"duration":"P1Y2M10DT2H30M"}}}},"responses":{"200":{"description":"`{ text }`.","content":{"application/json":{"schema":{"type":"object","description":"`{ text }`."}}}},"400":{"description":"Invalid request; no payment is attempted"},"402":{"description":"Payment required; x402/MPP metadata returned in headers"},"502":{"description":"Upstream provider error after payment verification"}},"x-payment-info":{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Render an ISO 8601 duration as an English phrase, e.g. 'P1Y2M' → '1 year and 2 months'. Components are shown in descending order with correct pluralization.","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.002000"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"evm","intent":"charge","network":"8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"tempo","intent":"charge","network":"4217","currency":"0x20c000000000000000000000b9537d11c60e8b50","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}}],"network":"4217","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","offers":[{"amount":"2000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Render an ISO 8601 duration as an English phrase, e.g. 'P1Y2M' → '1 year and 2 months'. Components are shown in descending order with correct pluralization.","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Render an ISO 8601 duration as an English phrase, e.g. 'P1Y2M' → '1 year and 2 months'. Components are shown in descending order with correct pluralization.","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}},"/v1/add":{"post":{"summary":"Add a duration to a date","description":"Add an ISO 8601 duration to a start date or date-time and return the resulting UTC instant. Calendar-aware: months and years honor month lengths (e.g. Jan 31 + P1M clamps to the last day of February). A negative-signed duration subtracts. Paid endpoint (x402 + MPP). Price: $0.002000 USDC per successful payment.","tags":["add duration to date","date duration math","iso duration add","calendar aware date add","add period to datetime","subtract duration from date"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"start":{"type":"string","minLength":4,"maxLength":64,"description":"ISO 8601 date or date-time (bare dates are treated as UTC midnight)."},"duration":{"type":"string","minLength":2,"maxLength":128,"description":"ISO 8601 duration to add."}},"required":["start","duration"],"additionalProperties":false},"example":{"start":"2024-01-15T10:30:00Z","duration":"P1D"}}}},"responses":{"200":{"description":"`{ result, epochSeconds }`.","content":{"application/json":{"schema":{"type":"object","description":"`{ result, epochSeconds }`."}}}},"400":{"description":"Invalid request; no payment is attempted"},"402":{"description":"Payment required; x402/MPP metadata returned in headers"},"502":{"description":"Upstream provider error after payment verification"}},"x-payment-info":{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Add an ISO 8601 duration to a start date or date-time and return the resulting UTC instant. Calendar-aware: months and years honor month lengths (e.g. Jan 31 + P1M clamps to the last day of February). A negative-signed duration subtracts.","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.002000"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"evm","intent":"charge","network":"8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"tempo","intent":"charge","network":"4217","currency":"0x20c000000000000000000000b9537d11c60e8b50","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}}],"network":"4217","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","offers":[{"amount":"2000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Add an ISO 8601 duration to a start date or date-time and return the resulting UTC instant. Calendar-aware: months and years honor month lengths (e.g. Jan 31 + P1M clamps to the last day of February). A negative-signed duration subtracts.","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Add an ISO 8601 duration to a start date or date-time and return the resulting UTC instant. Calendar-aware: months and years honor month lengths (e.g. Jan 31 + P1M clamps to the last day of February). A negative-signed duration subtracts.","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}},"/v1/between":{"post":{"summary":"Duration between two dates","description":"Compute the calendar breakdown (years, months, days, hours, minutes, seconds) between two ISO 8601 dates/date-times, plus exact totalSeconds. If end precedes start the result is flagged negative rather than erroring. Paid endpoint (x402 + MPP). Price: $0.002000 USDC per successful payment.","tags":["duration between dates","date difference duration","calendar interval between","time between datetimes","compute date duration","dates to iso duration"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"start":{"type":"string","minLength":4,"maxLength":64,"description":"Start ISO 8601 date or date-time."},"end":{"type":"string","minLength":4,"maxLength":64,"description":"End ISO 8601 date or date-time."}},"required":["start","end"],"additionalProperties":false},"example":{"start":"2024-01-15T10:30:00Z","end":"2024-01-20T12:00:00Z"}}}},"responses":{"200":{"description":"`{ negative, components, totalSeconds, iso }`.","content":{"application/json":{"schema":{"type":"object","description":"`{ negative, components, totalSeconds, iso }`."}}}},"400":{"description":"Invalid request; no payment is attempted"},"402":{"description":"Payment required; x402/MPP metadata returned in headers"},"502":{"description":"Upstream provider error after payment verification"}},"x-payment-info":{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Compute the calendar breakdown (years, months, days, hours, minutes, seconds) between two ISO 8601 dates/date-times, plus exact totalSeconds. If end precedes start the result is flagged negative rather than erroring.","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.002000"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"evm","intent":"charge","network":"8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"tempo","intent":"charge","network":"4217","currency":"0x20c000000000000000000000b9537d11c60e8b50","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}}],"network":"4217","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","offers":[{"amount":"2000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Compute the calendar breakdown (years, months, days, hours, minutes, seconds) between two ISO 8601 dates/date-times, plus exact totalSeconds. If end precedes start the result is flagged negative rather than erroring.","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"2000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Compute the calendar breakdown (years, months, days, hours, minutes, seconds) between two ISO 8601 dates/date-times, plus exact totalSeconds. If end precedes start the result is flagged negative rather than erroring.","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}},"/v1/to-jdn":{"post":{"summary":"Date → Julian Day Number","description":"Convert a proleptic-Gregorian calendar date to its Julian Day Number (the integer count of days since JDN 0, 1 January 4713 BC in the proleptic Julian calendar). Paid endpoint (x402 + MPP). Price: $0.004000 USDC per successful payment.","tags":["date to julian day","julian day number conversion","gregorian to jdn","calendar date serial","convert date to jdn","julian day api"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"year":{"type":"integer","minimum":1,"maximum":9999},"month":{"type":"integer","minimum":1,"maximum":12},"day":{"type":"integer","minimum":1,"maximum":31}},"required":["year","month","day"],"additionalProperties":false}}}},"responses":{"200":{"description":"`{ jdn }`.","content":{"application/json":{"schema":{"type":"object","description":"`{ jdn }`."}}}},"400":{"description":"Invalid request; no payment is attempted"},"402":{"description":"Payment required; x402/MPP metadata returned in headers"},"502":{"description":"Upstream provider error after payment verification"}},"x-payment-info":{"amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Convert a proleptic-Gregorian calendar date to its Julian Day Number (the integer count of days since JDN 0, 1 January 4713 BC in the proleptic Julian calendar).","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.004000"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"evm","intent":"charge","network":"8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"tempo","intent":"charge","network":"4217","currency":"0x20c000000000000000000000b9537d11c60e8b50","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}}],"network":"4217","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","offers":[{"amount":"4000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Convert a proleptic-Gregorian calendar date to its Julian Day Number (the integer count of days since JDN 0, 1 January 4713 BC in the proleptic Julian calendar).","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Convert a proleptic-Gregorian calendar date to its Julian Day Number (the integer count of days since JDN 0, 1 January 4713 BC in the proleptic Julian calendar).","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}},"/v1/from-jdn":{"post":{"summary":"Julian Day Number → date","description":"Convert a Julian Day Number back to a proleptic-Gregorian date, with the ISO weekday (1=Monday..7=Sunday) and its name. Paid endpoint (x402 + MPP). Price: $0.004000 USDC per successful payment.","tags":["julian day to date","jdn to gregorian date","julian day lookup","convert jdn to date","julian day weekday","jdn calendar conversion"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"jdn":{"type":"integer","description":"Julian Day Number."}},"required":["jdn"],"additionalProperties":false},"example":{"jdn":2451545}}}},"responses":{"200":{"description":"`{ year, month, day, weekday, weekdayName }`.","content":{"application/json":{"schema":{"type":"object","description":"`{ year, month, day, weekday, weekdayName }`."}}}},"400":{"description":"Invalid request; no payment is attempted"},"402":{"description":"Payment required; x402/MPP metadata returned in headers"},"502":{"description":"Upstream provider error after payment verification"}},"x-payment-info":{"amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Convert a Julian Day Number back to a proleptic-Gregorian date, with the ISO weekday (1=Monday..7=Sunday) and its name.","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.004000"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"evm","intent":"charge","network":"8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"tempo","intent":"charge","network":"4217","currency":"0x20c000000000000000000000b9537d11c60e8b50","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}}],"network":"4217","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","offers":[{"amount":"4000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Convert a Julian Day Number back to a proleptic-Gregorian date, with the ISO weekday (1=Monday..7=Sunday) and its name.","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Convert a Julian Day Number back to a proleptic-Gregorian date, with the ISO weekday (1=Monday..7=Sunday) and its name.","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}},"/v1/weekday":{"post":{"summary":"Day of week","description":"Return the ISO weekday (1=Monday..7=Sunday) and its name for a Gregorian date. Paid endpoint (x402 + MPP). Price: $0.004000 USDC per successful payment.","tags":["day of week","weekday lookup","date weekday api","gregorian weekday","find weekday for date","calendar weekday"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"year":{"type":"integer","minimum":1,"maximum":9999},"month":{"type":"integer","minimum":1,"maximum":12},"day":{"type":"integer","minimum":1,"maximum":31}},"required":["year","month","day"],"additionalProperties":false}}}},"responses":{"200":{"description":"`{ weekday, weekdayName }`.","content":{"application/json":{"schema":{"type":"object","description":"`{ weekday, weekdayName }`."}}}},"400":{"description":"Invalid request; no payment is attempted"},"402":{"description":"Payment required; x402/MPP metadata returned in headers"},"502":{"description":"Upstream provider error after payment verification"}},"x-payment-info":{"amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Return the ISO weekday (1=Monday..7=Sunday) and its name for a Gregorian date.","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.004000"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"evm","intent":"charge","network":"8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"tempo","intent":"charge","network":"4217","currency":"0x20c000000000000000000000b9537d11c60e8b50","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}}],"network":"4217","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","offers":[{"amount":"4000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Return the ISO weekday (1=Monday..7=Sunday) and its name for a Gregorian date.","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Return the ISO weekday (1=Monday..7=Sunday) and its name for a Gregorian date.","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}},"/v1/iso-week":{"post":{"summary":"ISO-8601 week number","description":"Return the ISO-8601 week-numbering year, week number (1..53) and weekday (1=Monday..7=Sunday) for a Gregorian date. The ISO year can differ from the calendar year around New Year. Paid endpoint (x402 + MPP). Price: $0.004000 USDC per successful payment.","tags":["iso week number","week number lookup","iso 8601 week","date to iso week","calendar week api","week numbering year"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"year":{"type":"integer","minimum":1,"maximum":9999},"month":{"type":"integer","minimum":1,"maximum":12},"day":{"type":"integer","minimum":1,"maximum":31}},"required":["year","month","day"],"additionalProperties":false}}}},"responses":{"200":{"description":"`{ isoYear, week, weekday }`.","content":{"application/json":{"schema":{"type":"object","description":"`{ isoYear, week, weekday }`."}}}},"400":{"description":"Invalid request; no payment is attempted"},"402":{"description":"Payment required; x402/MPP metadata returned in headers"},"502":{"description":"Upstream provider error after payment verification"}},"x-payment-info":{"amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Return the ISO-8601 week-numbering year, week number (1..53) and weekday (1=Monday..7=Sunday) for a Gregorian date. The ISO year can differ from the calendar year around New Year.","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.004000"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"evm","intent":"charge","network":"8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"tempo","intent":"charge","network":"4217","currency":"0x20c000000000000000000000b9537d11c60e8b50","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}}],"network":"4217","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","offers":[{"amount":"4000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Return the ISO-8601 week-numbering year, week number (1..53) and weekday (1=Monday..7=Sunday) for a Gregorian date. The ISO year can differ from the calendar year around New Year.","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Return the ISO-8601 week-numbering year, week number (1..53) and weekday (1=Monday..7=Sunday) for a Gregorian date. The ISO year can differ from the calendar year around New Year.","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}},"/v1/easter":{"post":{"summary":"Gregorian Easter","description":"Compute the date of Western (Gregorian) Easter Sunday for a year in 1583..9999 using the Anonymous Gregorian computus. Paid endpoint (x402 + MPP). Price: $0.004000 USDC per successful payment.","tags":["easter date","calculate easter","gregorian easter date","western easter calculator","easter computus","easter sunday lookup"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"year":{"type":"integer","minimum":1583,"maximum":9999}},"required":["year"],"additionalProperties":false}}}},"responses":{"200":{"description":"`{ year, month, day, weekdayName }`.","content":{"application/json":{"schema":{"type":"object","description":"`{ year, month, day, weekdayName }`."}}}},"400":{"description":"Invalid request; no payment is attempted"},"402":{"description":"Payment required; x402/MPP metadata returned in headers"},"502":{"description":"Upstream provider error after payment verification"}},"x-payment-info":{"amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Compute the date of Western (Gregorian) Easter Sunday for a year in 1583..9999 using the Anonymous Gregorian computus.","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.004000"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"evm","intent":"charge","network":"8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"tempo","intent":"charge","network":"4217","currency":"0x20c000000000000000000000b9537d11c60e8b50","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}}],"network":"4217","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","offers":[{"amount":"4000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Compute the date of Western (Gregorian) Easter Sunday for a year in 1583..9999 using the Anonymous Gregorian computus.","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Compute the date of Western (Gregorian) Easter Sunday for a year in 1583..9999 using the Anonymous Gregorian computus.","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}},"/v1/day-of-year":{"post":{"summary":"Day of year","description":"Return the ordinal day of the year (1..366), the number of days in that year and whether it is a leap year. Paid endpoint (x402 + MPP). Price: $0.004000 USDC per successful payment.","tags":["day of year","ordinal date lookup","date to day number","leap year day count","year day calculator","days in year"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"year":{"type":"integer","minimum":1,"maximum":9999},"month":{"type":"integer","minimum":1,"maximum":12},"day":{"type":"integer","minimum":1,"maximum":31}},"required":["year","month","day"],"additionalProperties":false}}}},"responses":{"200":{"description":"`{ dayOfYear, daysInYear, leapYear }`.","content":{"application/json":{"schema":{"type":"object","description":"`{ dayOfYear, daysInYear, leapYear }`."}}}},"400":{"description":"Invalid request; no payment is attempted"},"402":{"description":"Payment required; x402/MPP metadata returned in headers"},"502":{"description":"Upstream provider error after payment verification"}},"x-payment-info":{"amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Return the ordinal day of the year (1..366), the number of days in that year and whether it is a leap year.","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.004000"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"evm","intent":"charge","network":"8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"tempo","intent":"charge","network":"4217","currency":"0x20c000000000000000000000b9537d11c60e8b50","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}}],"network":"4217","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","offers":[{"amount":"4000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Return the ordinal day of the year (1..366), the number of days in that year and whether it is a leap year.","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Return the ordinal day of the year (1..366), the number of days in that year and whether it is a leap year.","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}}},"x-service-info":{"categories":["compute"],"docs":{"homepage":"https://datetime.openverbs.com","apiReference":"https://datetime.openverbs.com/openapi.json"}}}