{"api":"v1","generated_at":"2026-10-02T11:18:31.519Z","licence":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/","attribution":"TOLL, with a link to the page cited"},"page":"https://tollindex.com/e/api-duoleads-com-v1-time-rrule-280201","pinned_page":"https://tollindex.com/e/api-duoleads-com-v1-time-rrule-280201/at/2026-10-02T05-34Z","pinned":false,"method":"https://tollindex.com/ledger/method","snapshot_at":"2026-10-02T05:34:29.993Z","snapshot_stamp":"2026-10-02T05-34Z","endpoint":{"slug":"api-duoleads-com-v1-time-rrule-280201","canonical_url":"https://api.duoleads.com/v1/time/rrule","resource":"https://api.duoleads.com/v1/time/rrule","http_method":"GET","type":"http","x402_version":2,"registries":["cdp"],"primary_registry":"cdp","curated_by_coinbase":false,"description":"Expand an RFC 5545 recurrence rule into concrete occurrence timestamps. Accepts an RRULE string with DTSTART, an IANA time zone, and optional EXDATE and RDATE lists, and returns up to 200 occurrences as both local wall-clock times and UTC instants. Supports FREQ, INTERVAL, COUNT, UNTIL, BYDAY, BYMONTHDAY, BYMONTH, BYSETPOS and WKST. Occurrences moved by a DST gap carry gap: true. Rules needing over 50,000 candidate evaluations are rejected.","service_name":"Duo Data Utilities","declared_category":null,"declared_tags":["deterministic","no-api-key","time","calendar","recurrence"],"route_template":null,"registry_updated":"2026-10-01T20:51:19.698Z"},"derived":{"note":"fields no registry supplies; TOLL derives them and marks them derived on the page","title":"time rrule","category":"other","first_observed_by_toll":"2026-09-29T05:42:18.847Z","last_observed_by_toll":"2026-10-02T05:34:29.993Z","observation_began":"2026-09-10"},"presence":{"listed_now":true,"first_absent_at":null,"delisting_confirmed_at":null,"events":[{"registry":"cdp","at":"2026-09-29T05:42:18.848Z","event":"listed"},{"registry":"cdp","at":"2026-10-01T05:50:06.230Z","event":"delisted"},{"registry":"cdp","at":"2026-10-01T13:10:50.124Z","event":"delisting_confirmed"},{"registry":"cdp","at":"2026-10-01T22:40:17.457Z","event":"relisted"}]},"accepts":[{"registry":"cdp","ordinal":0,"network":"eip155:8453","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USD Coin","symbol":"USDC","decimals":6,"amount_display":"0.05 USDC","amount_units":0.05,"decimals_known":true,"pay_to":"0xCD673f7e1daD254347AEab6be0DEFe8b9C6b3A39","scheme":"exact"}],"counters":{"observed_at":"2026-10-02T05:34:29.993Z","calls_30d":2,"unique_payers_30d":1,"last_called_at":"2026-10-01T20:51:19.567Z"},"validation":{"latest":{"observed_at":"2026-09-30T06:09:08.643Z","state":"pass","failed_checks":[],"endpoint_http_status":402,"run_id":"daily-2026-09-30"},"uptime":[{"days":7,"observed":3,"passed":3,"ratio":1},{"days":30,"observed":3,"passed":3,"ratio":1},{"days":90,"observed":3,"passed":3,"ratio":1}],"history_90d":[{"observed_at":"2026-09-30T06:09:08.643Z","state":"pass","failed_checks":[],"run_id":"daily-2026-09-30","state_changed":false},{"observed_at":"2026-09-29T18:29:52.907Z","state":"pass","failed_checks":[],"run_id":"daily-2026-09-29","state_changed":false},{"observed_at":"2026-09-29T17:47:52.352Z","state":"pass","failed_checks":[],"run_id":"new-after-daily-2026-09-28","state_changed":true}]},"seller":{"wallet":"0xCD673f7e1daD254347AEab6be0DEFe8b9C6b3A39","page":"https://tollindex.com/seller/0xCD673f7e1daD254347AEab6be0DEFe8b9C6b3A39","endpoints":33,"hosts":1},"reports":0,"registry_record":{"cdp":[{"tags":["deterministic","no-api-key","time","calendar","recurrence"],"type":"http","accepts":[{"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"name":"USD Coin","version":"2"},"payTo":"0xCD673f7e1daD254347AEab6be0DEFe8b9C6b3A39","amount":"50000","scheme":"exact","network":"eip155:8453","maxTimeoutSeconds":120}],"quality":{"lastCalledAt":"2026-10-01T20:51:19.567Z","l30DaysTotalCalls":2,"l30DaysUniquePayers":1},"resource":"https://api.duoleads.com/v1/time/rrule","extensions":{"bazaar":{"info":{"input":{"type":"http","method":"GET","queryParams":{"zone":"Europe/Amsterdam","rrule":"FREQ=MONTHLY;BYDAY=-1FR;COUNT=3","dtstart":"2026-01-01T09:00:00"}},"output":{"type":"json","example":{"ok":true,"data":{"rule":{"freq":"MONTHLY","wkst":"MO","byday":["-1FR"],"count":3,"interval":1},"zone":"Europe/Amsterdam","count":3,"truncated":false,"occurrences":[{"dst":false,"local":"2026-01-30T09:00:00","offset":"+01:00","instant":"2026-01-30T08:00:00.000Z","epoch_ms":1769760000000},{"dst":false,"local":"2026-02-27T09:00:00","offset":"+01:00","instant":"2026-02-27T08:00:00.000Z","epoch_ms":1772179200000},{"dst":false,"local":"2026-03-27T09:00:00","offset":"+01:00","instant":"2026-03-27T08:00:00.000Z","epoch_ms":1774598400000}]},"meta":{"price_usd":"0.05","disclaimer":"Factual output of a deterministic computation over public data. Provided as is, with no warranty of accuracy, completeness or availability. Not investment, financial, legal, tax, medical or any other professional advice, and not a recommendation. Verify before relying on it. Terms: https://api.duoleads.com/terms","request_id":"01K6B7Q4ZC8H3F2M9WXR5TYN0D","computed_at":"2026-09-28T12:00:00.000Z","deterministic":true},"route":"/v1/time/rrule","version":"1.0.0"}}},"schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET"],"type":"string"},"queryParams":{"type":"object","required":["rrule","dtstart","zone"],"properties":{"zone":{"type":"string","maxLength":64,"description":"IANA time zone id."},"after":{"type":"string","maxLength":64,"description":"RFC 3339 instant; skip occurrences before it."},"count":{"type":"string","default":"20","pattern":"^[+-]?\\d+$","maxLength":64,"description":"Maximum occurrences to return, 1-200. Default 20."},"rdate":{"type":"string","maxLength":1024,"description":"Comma-separated local datetimes to add."},"rrule":{"type":"string","maxLength":512,"description":"RFC 5545 RRULE, e.g. FREQ=MONTHLY;BYDAY=-1FR;COUNT=6."},"exdate":{"type":"string","maxLength":1024,"description":"Comma-separated local datetimes to exclude."},"dtstart":{"type":"string","maxLength":32,"description":"First occurrence, YYYY-MM-DDTHH:MM:SS local to zone."}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","required":["ok","route","version","data","meta"],"properties":{"ok":{"const":true},"data":{"type":"object","required":["occurrences","count","truncated","rule","zone"],"properties":{"rule":{"type":"object","required":["freq","interval","wkst"],"properties":{"freq":{"type":"string"},"wkst":{"type":"string"},"byday":{"type":"array","items":{"type":"string"}},"count":{"type":"integer"},"until":{"type":"string"},"byhour":{"type":"array","items":{"type":"integer"}},"bymonth":{"type":"array","items":{"type":"integer"}},"byminute":{"type":"array","items":{"type":"integer"}},"bysecond":{"type":"array","items":{"type":"integer"}},"bysetpos":{"type":"array","items":{"type":"integer"}},"interval":{"type":"integer"},"bymonthday":{"type":"array","items":{"type":"integer"}}}},"zone":{"type":"string"},"count":{"type":"integer"},"truncated":{"type":"boolean"},"occurrences":{"type":"array","items":{"type":"object","required":["local","instant","epoch_ms","offset","dst"],"properties":{"dst":{"type":"boolean"},"gap":{"type":"boolean"},"local":{"type":"string"},"offset":{"type":"string"},"instant":{"type":"string"},"epoch_ms":{"type":"integer"}}}}}},"meta":{"type":"object","required":["request_id","computed_at","price_usd","deterministic","disclaimer"],"properties":{"sources":{"type":"array","items":{"type":"object","required":["id","version","published"]}},"price_usd":{"type":"string"},"disclaimer":{"type":"string"},"request_id":{"type":"string"},"computed_at":{"type":"string","description":"RFC 3339 UTC with milliseconds"},"deterministic":{"type":"boolean"}}},"route":{"const":"/v1/time/rrule"},"version":{"type":"string"}}}}}}}}},"description":"Expand an RFC 5545 recurrence rule into concrete occurrence timestamps. Accepts an RRULE string with DTSTART, an IANA time zone, and optional EXDATE and RDATE lists, and returns up to 200 occurrences as both local wall-clock times and UTC instants. Supports FREQ, INTERVAL, COUNT, UNTIL, BYDAY, BYMONTHDAY, BYMONTH, BYSETPOS and WKST. Occurrences moved by a DST gap carry gap: true. Rules needing over 50,000 candidate evaluations are rejected.","lastUpdated":"2026-10-01T20:51:19.698Z","serviceName":"Duo Data Utilities","x402Version":2}]}}