Scheduling
Coverage gap finder API
Finds coverage gaps in a schedule via a sweep line, reporting every interval where overlapping shifts fall below the required minimum, total uncovered minutes, and peak coverage. Answers 'When is no one covering?', 'Where does coverage drop below the required level?'.
Price$0.03per request
MethodPOST
Route/v1/scheduling/coverage-gaps
StatusLive
MIME typeapplication/json
Rate limit120/minute
Cache0s public
schedulingshiftscoveragegapsrotasweep-linestaffingagents
API URL
Integration docshttps://x402.hexl.dev/v1/scheduling/coverage-gapsExample request
{
"windowStart": "2026-06-04T00:00:00Z",
"windowEnd": "2026-06-04T12:00:00Z",
"shifts": [
{
"id": "s1",
"start": "2026-06-04T00:00:00Z",
"end": "2026-06-04T08:00:00Z"
},
{
"id": "s2",
"start": "2026-06-04T10:00:00Z",
"end": "2026-06-04T12:00:00Z"
}
]
}Example response
{
"minCoverage": 1,
"gaps": [
{
"start": "2026-06-04T08:00:00.000Z",
"end": "2026-06-04T10:00:00.000Z",
"coverage": 0,
"minutes": 120
}
],
"gapCount": 1,
"uncoveredMinutes": 120,
"peakCoverage": 1,
"fullyCovered": false,
"interpretation": "1 gap(s) below 1× coverage; 2h uncovered."
}Input schema
{
"type": "object",
"required": [
"windowStart",
"windowEnd",
"shifts"
],
"properties": {
"windowStart": {
"type": "string",
"examples": [
"2026-06-04T00:00:00Z"
]
},
"windowEnd": {
"type": "string",
"examples": [
"2026-06-04T12:00:00Z"
]
},
"shifts": {
"type": "array",
"items": {
"type": "object"
}
},
"minCoverage": {
"type": "number",
"examples": [
1
]
}
}
}Output schema
{
"type": "object",
"additionalProperties": true
}