{"id":"iso-date-observed-shift","version":"1.0.0","description":"Shift a date forward or backward until it lands on a day that is neither a weekend nor a caller-supplied holiday.","supported_operations":["iso date observed shift","holiday observed date","move holiday off weekend"],"unsupported_operations":["built-in national holiday calendars","nearest-day tie-break rules","timezones"],"semantics":["date is a strict YYYY-MM-DD proleptic Gregorian UTC calendar date with year 0001-9999.","weekend_days is an array of ISO weekday integers 1-7, unique, at most 6 entries (at least one non-weekend weekday must remain). holidays is an array of unique YYYY-MM-DD dates, at most 366 entries.","direction is \"forward\" or \"backward\".","If date is not in weekend_days and not listed in holidays, the result is date unchanged.","Otherwise the date steps one calendar day at a time in the given direction until it lands on a day that is in neither weekend_days nor holidays.","The call is rejected if a step would move outside year 0001-9999."],"limits":{"year_min":1,"year_max":9999,"max_weekend_days":6,"max_holidays":366},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["date","weekend_days","holidays","direction"],"properties":{"date":{"type":"string","minLength":10,"maxLength":10,"pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"weekend_days":{"type":"array","maxItems":6,"items":{"type":"integer","minimum":1,"maximum":7}},"holidays":{"type":"array","maxItems":366,"items":{"type":"string","minLength":10,"maxLength":10}},"direction":{"type":"string","enum":["forward","backward"]}}},"output_schema":{"type":"object","additionalProperties":false,"required":["date"],"properties":{"date":{"type":"string","minLength":10,"maxLength":10}}},"examples":[{"input":{"date":"2026-09-19","weekend_days":[6,7],"holidays":[],"direction":"forward"},"output":{"date":"2026-09-21"}},{"input":{"date":"2026-09-19","weekend_days":[6,7],"holidays":[],"direction":"backward"},"output":{"date":"2026-09-18"}}],"execute_url":"/v1/tools/iso-date-observed-shift/versions/1.0.0/execute"}