{"slug":"api-zfinia-com-x402-v1-on-call-coverage-audit-868a39","title":"Check that an on-call rota covers a period with no gap","host":"api.zfinia.com","method":"POST","resource":"https://api.zfinia.com/x402/v1/on-call-coverage-audit","category":"code","description":"Check that an on-call rota covers a period with no gap. Coverage is the union of the shifts in a rotation, so a gap is reported only where no shift covers the moment at all, which no per-shift check can find. Also reports one person on two rotations at once, where a page to both reaches one person s","price_listed":0.15,"price_asked":null,"state":"down","state_label":"Not answering","checks_7d":1,"answered_7d":0,"latency_ms_median":null,"reported_calls_30d":1,"reported_payers_30d":1,"networks":["eip155:8453"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"body":{"cover_from":"2026-10-05T00:00:00Z","cover_to":"2026-10-12T00:00:00Z","max_shift_hours":72,"min_rest_hours":12,"shifts":[{"end":"2026-10-08T12:00:00Z","person":"ada","rotation":"primary","start":"2026-10-05T00:00:00Z"},{"end":"2026-10-12T00:00:00Z","person":"grace","rotation":"primary","start":"2026-10-09T00:00:00Z"},{"end":"2026-10-12T00:00:00Z","person":"ada","rotation":"secondary","start":"2026-10-05T00:00:00Z"}]},"bodyType":"json","method":"POST","type":"http"},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"additionalProperties":false,"properties":{"cover_from":{"type":["string","number"]},"cover_to":{"type":["string","number"]},"max_shift_hours":{"minimum":1,"type":"integer"},"min_rest_hours":{"minimum":0,"type":"integer"},"shifts":{"items":{"additionalProperties":false,"properties":{"end":{"type":["string","number"]},"person":{"maxLength":128,"type":"string"},"rotation":{"maxLength":64,"type":"string"},"start":{"type":["string","number"]}},"required":["person","start","end"],"type":"object"},"maxItems":5000,"minItems":1,"type":"array"}},"required":["shifts","cover_from","cover_to"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"},"history":[{"day":"2026-10-04","reachable":false,"status":null,"valid_402":false,"asked_usdc":null,"price_match":null,"latency_ms":null,"error":"TimeoutError"}],"description_full":"Check that an on-call rota covers a period with no gap. Coverage is the union of the shifts in a rotation, so a gap is reported only where no shift covers the moment at all, which no per-shift check can find. Also reports one person on two rotations at once, where a page to both reaches one person so the second rotation is not a second responder; a shift longer than a stated maximum; too little rest between shifts; and a time with no UTC offset, which leaves a gap at every handover.","last_updated":"2026-10-04T08:34:57.095Z","schemes":["exact"]}