Health
One endpoint your monitoring can poll to know whether Holofin can accept and process work right now.
It reports the platform, not your account. For what happened to documents you already sent, use Metrics.
Get service health
/api/v1.1/healthWhether Holofin can accept and process work right now. No API key, never rate limited. Answers 200 when operational or degraded, 503 on outage: alert on the status code.
Response
statusstringOne of
operational,degraded,outage.servicesobjecttimestring
status is the worst of the four services: api (requests and authentication), document_intake (accepting uploads), processing (classification, segmentation, extraction, analysis) and webhooks (event delivery). Each is operational, degraded (slower, or notifications late; nothing is lost) or outage (hold submissions and retry). time is when the state was measured; it refreshes at most every 10 seconds.
curl "https://app.holofin.ai/api/v1.1/health"import requests
response = requests.get(
"https://app.holofin.ai/api/v1.1/health",
)
response.raise_for_status()
print(response.json())const response = await fetch("https://app.holofin.ai/api/v1.1/health");
if (!response.ok) throw new Error(await response.text());
console.log(await response.json());{
"status": "operational",
"services": {
"api": "operational",
"document_intake": "operational",
"processing": "operational",
"webhooks": "operational"
},
"time": "2026-09-01T08:14:22.481930+00:00"
}Monitoring
- Poll every 30 to 60 seconds. The state refreshes at most every 10 seconds, so polling more often buys nothing.
- Alert on the status code, not the body. 503 is unavailable, 200 is available. Read
servicesto see which capability is affected. - Require three consecutive failures. One failed probe is usually a network hiccup, not an incident.
- Do not gate submissions on it. A failed submission explains itself; see Errors and Reliability and limits.
Notes
- Where a contract sets an availability commitment, it is computed from the share of non-503 responses on this endpoint, excluding announced maintenance.
/api/v1/healthand/api/v1.1/healthreturn the same payload, with or without a trailing slash.degradedreturns 200 on purpose, so a slow period does not wake your on-call team.