{"slug":"api-zfinia-com-x402-v1-incident-timeline-audit-7f028d","title":"Derive incident durations from a timeline and report what makes them unreliable","host":"api.zfinia.com","method":"POST","resource":"https://api.zfinia.com/x402/v1/incident-timeline-audit","category":"code","description":"Derive incident durations from a timeline and report what makes them unreliable. The finding that matters: a phase recorded before the phase that must precede it, which means a time was backfilled, so every duration derived from the pair is fiction. Also reports a time with no UTC offset, which duri","price_listed":0.13,"price_asked":null,"state":"effects","state_label":"Not tested: has real-world effects","checks_7d":0,"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":{"events":[{"at":"2026-09-30T02:10:00Z","description":"deploy of 1.4.0 begins","phase":"began"},{"at":"2026-09-30T02:55:00Z","description":"on call acknowledges","phase":"acknowledged"},{"at":"2026-09-30T03:02:00Z","description":"alert fires","phase":"detected"},{"at":"2026-09-30T04:35:00","description":"rollback starts"},{"at":"2026-09-30T04:50:00Z","description":"error rate normal","phase":"resolved"}],"targets":{"acknowledge_minutes":5,"detect_minutes":10,"resolve_minutes":60}},"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":{"events":{"items":{"additionalProperties":false,"properties":{"at":{"type":["string","number"]},"description":{"maxLength":512,"type":"string"},"phase":{"enum":["began","detected","acknowledged","mitigated","resolved"],"type":"string"}},"required":["at"],"type":"object"},"maxItems":5000,"minItems":1,"type":"array"},"targets":{"additionalProperties":false,"properties":{"acknowledge_minutes":{"minimum":0,"type":"number"},"detect_minutes":{"minimum":0,"type":"number"},"resolve_minutes":{"minimum":0,"type":"number"}},"type":"object"}},"required":["events"],"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":[],"description_full":"Derive incident durations from a timeline and report what makes them unreliable. The finding that matters: a phase recorded before the phase that must precede it, which means a time was backfilled, so every duration derived from the pair is fiction. Also reports a time with no UTC offset, which during an incident means somebody wrote their own zone; a missing phase, so a duration cannot be derived; an unrecorded gap of an hour or more; and a derived duration beyond a target the caller states.","last_updated":"2026-10-04T08:35:43.626Z","schemes":["exact"]}