{"slug":"api-duoleads-com-v1-time-rrule-76c956","title":"Expand an RFC 5545 recurrence rule into concrete occurrence timestamps","host":"api.duoleads.com","method":"GET","resource":"https://api.duoleads.com/v1/time/rrule","category":"other","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, BYMON","price_listed":0.05,"price_asked":0.05,"state":"answering","state_label":"Answering","checks_7d":1,"answered_7d":1,"latency_ms_median":26,"reported_calls_30d":1,"reported_payers_30d":1,"networks":["eip155:8453"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"method":"GET","queryParams":{"dtstart":"2026-01-01T09:00:00","rrule":"FREQ=MONTHLY;BYDAY=-1FR;COUNT=3","zone":"Europe/Amsterdam"},"type":"http"},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"method":{"enum":["GET"],"type":"string"},"queryParams":{"properties":{"after":{"description":"RFC 3339 instant; skip occurrences before it.","maxLength":64,"type":"string"},"count":{"default":"20","description":"Maximum occurrences to return, 1-200. Default 20.","maxLength":64,"pattern":"^[+-]?\\d+$","type":"string"},"dtstart":{"description":"First occurrence, YYYY-MM-DDTHH:MM:SS local to zone.","maxLength":32,"type":"string"},"exdate":{"description":"Comma-separated local datetimes to exclude.","maxLength":1024,"type":"string"},"rdate":{"description":"Comma-separated local datetimes to add.","maxLength":1024,"type":"string"},"rrule":{"description":"RFC 5545 RRULE, e.g. FREQ=MONTHLY;BYDAY=-1FR;COUNT=6.","maxLength":512,"type":"string"},"zone":{"description":"IANA time zone id.","maxLength":64,"type":"string"}},"required":["rrule","dtstart","zone"],"type":"object"},"type":{"const":"http","type":"string"}},"required":["type","method"],"type":"object"},"output":{"properties":{"example":{"properties":{"data":{"type":"object"},"meta":{"properties":{"computed_at":{"type":"string"},"deterministic":{"type":"boolean"},"disclaimer":{"type":"string"},"price_usd":{"type":"string"},"request_id":{"type":"string"},"sources":{"type":"array"}},"required":["request_id","computed_at","price_usd","deterministic","disclaimer"],"type":"object"},"ok":{"const":true,"type":"boolean"},"route":{"type":"string"},"version":{"type":"string"}},"required":["ok","route","version","data","meta"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"},"history":[{"day":"2026-09-29","reachable":true,"status":402,"valid_402":true,"asked_usdc":0.05,"price_match":true,"latency_ms":26,"error":null}],"description_full":"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. Reports DST-shifted occurrences explicitly.","last_updated":"2026-09-28T23:37:49.353Z","schemes":["exact"]}