Scheduling
Common free slot finder API
Finds time slots within a window during which every participant is free, merging each person's busy intervals into a blocked mask and returning the earliest fitting slots. Answers 'When are all N people free for a 30-minute meeting?', 'What's the earliest slot everyone can make?'.
Price$0.03per request
MethodPOST
Route/v1/scheduling/common-free-slot
StatusLive
MIME typeapplication/json
Rate limit120/minute
Cache0s public
schedulingmeetingscalendaravailabilityfree-slotintervalsagentscoordination
API URL
Integration docshttps://x402.hexl.dev/v1/scheduling/common-free-slotExample request
{
"windowStart": "2026-06-04T09:00:00Z",
"windowEnd": "2026-06-04T17:00:00Z",
"durationMinutes": 30,
"participants": [
{
"id": "a",
"busy": [
{
"start": "2026-06-04T09:00:00Z",
"end": "2026-06-04T10:00:00Z"
}
]
},
{
"id": "b",
"busy": [
{
"start": "2026-06-04T10:00:00Z",
"end": "2026-06-04T10:30:00Z"
},
{
"start": "2026-06-04T12:00:00Z",
"end": "2026-06-04T13:00:00Z"
}
]
}
],
"maxResults": 2
}Example response
{
"durationMinutes": 30,
"participantCount": 2,
"slots": [
{
"start": "2026-06-04T10:30:00.000Z",
"end": "2026-06-04T11:00:00.000Z"
},
{
"start": "2026-06-04T11:00:00.000Z",
"end": "2026-06-04T11:30:00.000Z"
}
],
"found": true,
"earliest": {
"start": "2026-06-04T10:30:00.000Z",
"end": "2026-06-04T11:00:00.000Z"
},
"blockedIntervals": [
{
"start": "2026-06-04T09:00:00.000Z",
"end": "2026-06-04T10:30:00.000Z"
},
{
"start": "2026-06-04T12:00:00.000Z",
"end": "2026-06-04T13:00:00.000Z"
}
],
"interpretation": "2 common free slot(s); earliest starts 2026-06-04T10:30:00.000Z."
}Input schema
{
"type": "object",
"required": [
"windowStart",
"windowEnd",
"durationMinutes",
"participants"
],
"properties": {
"windowStart": {
"type": "string",
"description": "ISO 8601 start of search window",
"examples": [
"2026-06-04T09:00:00Z"
]
},
"windowEnd": {
"type": "string",
"examples": [
"2026-06-04T17:00:00Z"
]
},
"durationMinutes": {
"type": "number",
"examples": [
30
]
},
"participants": {
"type": "array",
"items": {
"type": "object"
}
},
"granularityMinutes": {
"type": "number",
"examples": [
30
]
},
"maxResults": {
"type": "number",
"examples": [
5
]
}
}
}Output schema
{
"type": "object",
"additionalProperties": true
}