{"inputSchema":{"type":"object","required":["participants","window","duration_minutes"],"additionalProperties":false,"properties":{"participants":{"type":"array","minItems":1,"maxItems":20,"description":"One entry per person. Identifiers are free text and need not be real names.","items":{"type":"object","required":["id"],"additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":80,"description":"Any label, unique within the request. \"a\" is fine."},"busy":{"type":"array","maxItems":300,"description":"Busy blocks. Overlapping blocks are merged.","items":{"type":"object","required":["start","end"],"additionalProperties":false,"properties":{"start":{"type":"string","maxLength":40,"description":"ISO 8601 with offset or Z."},"end":{"type":"string","maxLength":40,"description":"ISO 8601 with offset or Z."}}}},"timezone":{"type":"string","maxLength":60,"description":"IANA zone for this person, e.g. Europe/Berlin. Falls back to the request default."},"working_hours":{"type":"object","additionalProperties":false,"description":"Working hours in this person local time. Omit to use the request default.","properties":{"start":{"type":"string","maxLength":5,"description":"HH:MM, e.g. 09:00."},"end":{"type":"string","maxLength":5,"description":"HH:MM. An end before the start means the block runs past midnight."},"days":{"type":"array","maxItems":7,"items":{"type":"integer","minimum":0,"maximum":6},"description":"0 is Sunday, 6 is Saturday. Default Monday to Friday."}}},"optional":{"type":"boolean","default":false,"description":"Optional participants may be missing from a returned window."}}}},"window":{"type":"object","required":["start","end"],"additionalProperties":false,"description":"The search window. Every load figure is measured over exactly this span for everyone.","properties":{"start":{"type":"string","maxLength":40,"description":"ISO 8601."},"end":{"type":"string","maxLength":40,"description":"ISO 8601."}}},"duration_minutes":{"type":"integer","minimum":5,"maximum":1440,"description":"How long the meeting needs to be."},"granularity_minutes":{"type":"integer","enum":[5,10,15,20,30,60],"default":15,"description":"Step of the candidate grid. Start times fall on this grid."},"default_timezone":{"type":"string","maxLength":60,"default":"UTC","description":"Timezone for participants that do not name one."},"working_hours":{"type":"object","additionalProperties":false,"description":"Default working hours for participants that do not name their own. Omit both this and per-participant hours to search around the clock.","properties":{"start":{"type":"string","maxLength":5},"end":{"type":"string","maxLength":5},"days":{"type":"array","maxItems":7,"items":{"type":"integer","minimum":0,"maximum":6}}}},"ignore_working_hours":{"type":"boolean","default":false,"description":"Search the whole window regardless of working hours."},"min_attendees":{"type":"integer","minimum":1,"description":"Also return windows where only this many can attend. Default: everyone who is not optional."},"max_results":{"type":"integer","minimum":1,"maximum":100,"default":20,"description":"How many windows to return. What is dropped is counted."},"output_timezone":{"type":"string","maxLength":60,"description":"Additionally render every returned time in this zone. Defaults to default_timezone."}}},"outputSchema":{"type":"object"},"priceModel":null,"requestExample":{"participants":[{"id":"a","timezone":"Europe/Berlin","busy":[{"start":"2026-08-17T08:00:00Z","end":"2026-08-17T10:00:00Z"}]},{"id":"b","timezone":"America/New_York","busy":[]}],"window":{"start":"2026-08-17T00:00:00Z","end":"2026-08-19T00:00:00Z"},"duration_minutes":60,"working_hours":{"start":"09:00","end":"17:00"},"output_timezone":"Europe/Berlin"},"price_usdc":"0.002"}