{"id":"iso-date-range-union","version":"1.0.0","description":"Merge overlapping or day-adjacent inclusive [start, end] date ranges into the fewest equivalent ranges.","supported_operations":["iso date range union","merge date ranges","combine overlapping date periods"],"unsupported_operations":["open ranges","timezones","datetime ranges"],"semantics":["ranges is an array of 1-1000 inclusive [start, end] YYYY-MM-DD date ranges with year 0001-9999; start must not be after end in any entry.","Two ranges merge when they overlap or are day-adjacent (one starts the calendar day immediately after the other ends).","union is the sorted, non-overlapping, non-adjacent set of merged ranges covering exactly the same days as the input, ascending by start."],"limits":{"year_min":1,"year_max":9999,"max_ranges":1000},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["ranges"],"properties":{"ranges":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"object","additionalProperties":false,"required":["start","end"],"properties":{"start":{"type":"string","minLength":10,"maxLength":10,"pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"end":{"type":"string","minLength":10,"maxLength":10,"pattern":"^\\d{4}-\\d{2}-\\d{2}$"}}}}}},"output_schema":{"type":"object","additionalProperties":false,"required":["union"],"properties":{"union":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["start","end"],"properties":{"start":{"type":"string","minLength":10,"maxLength":10},"end":{"type":"string","minLength":10,"maxLength":10}}}}}},"examples":[{"input":{"ranges":[{"start":"2026-01-01","end":"2026-01-05"},{"start":"2026-01-06","end":"2026-01-10"},{"start":"2026-02-01","end":"2026-02-05"}]},"output":{"union":[{"start":"2026-01-01","end":"2026-01-10"},{"start":"2026-02-01","end":"2026-02-05"}]}}],"execute_url":"/v1/tools/iso-date-range-union/versions/1.0.0/execute"}