Derive incident durations from a timeline and report what makes them unreliable
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.
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://api.zfinia.com/x402/v1/incident-timeline-audit
| Category | Code and developer |
|---|---|
| Provider host | api.zfinia.com |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 1 from 1 payers (the provider's figure, not ours) |
Our checks, last 30 days
We never call tools that send, buy, move money or file anything, not even without paying.
Example input (from the provider)
{
"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"
}
Promised output schema (from the provider)
{
"$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"
}