AI Agent SLA / Uptime Calculator
Convert uptime targets into allowed downtime, compare provider SLAs, and estimate the revenue at risk when an AI agent goes down.
Workload & Target
Estimates are directional. Last updated: 2026-07-03. See notes.
Allowed downtime / month
—
Allowed downtime / year
—
Revenue at risk / period
—
Availability class
—
| Provider | Category | Published SLA | Max monthly downtime | Revenue at risk / mo | SLA credit tier | Notes |
|---|---|---|---|---|---|---|
| OpenAI API | Frontier API | — | — | — | — | Enterprise SLA may offer 99.99% with committed use. |
| Anthropic API | Frontier API | — | — | — | — | Standard SLA; enterprise terms available. |
| Google Gemini API | Frontier API | — | — | — | — | Google Cloud SLA may apply to paid tiers. |
| Groq | Fast inference | — | — | — | — | High-throughput SLA; verify enterprise terms. |
| Together AI | Open model API | — | — | — | — | Dedicated deployments may offer higher SLA. |
| AWS Bedrock | Cloud platform | — | — | — | — | AWS global infrastructure; higher SLAs for multi-region. |
| Azure OpenAI Service | Cloud platform | — | — | — | — | Uptime SLA tied to Azure region and provisioning model. |
| Google Cloud Vertex AI | Cloud platform | — | — | — | — | Regional SLAs can be improved with multi-region deployments. |
| Cloudflare Workers AI | Edge inference | — | — | — | — | Edge network; often lower latency and strong uptime. |
| Vast.ai | GPU cloud rental | — | — | — | — | Marketplace uptime depends on individual host reliability. |
| RunPod | GPU cloud rental | — | — | — | — | Serverless pods can have cold-start downtime. |
| Self-hosted / local | Self-managed | — | — | — | — | You own the availability; depends on power, network, and hardware. |
Frequently asked questions
What does 99.9% uptime actually mean?
99.9% availability allows roughly 43.8 minutes of downtime per month, or 8.76 hours per year. A single bad deployment or cloud region outage can consume that budget quickly.
How is revenue at risk calculated?
We divide your monthly revenue by the number of minutes in a month, then multiply by the expected downtime minutes at your target SLA. This is a directional estimate of revenue exposed to outages.
Do provider SLA credits cover lost revenue?
Almost never. SLA credits are usually a small percentage of the API or hosting bill, not a reimbursement for your lost revenue, churn, or reputational damage.
What is the difference between availability and latency SLAs?
Availability SLA measures whether the service responds at all. Latency or response-time SLAs measure how fast it responds. This tool focuses on availability; pair it with the Agent Latency Budget Calculator for speed targets.
Should I aim for four nines (99.99%) or three nines (99.9%)?
99.99% allows only ~4.3 minutes of downtime per month and usually requires multi-region failover, redundancy, and a runbook. 99.9% is typical for production AI agents without hard real-time requirements.
SLA uptime percentages and credit policies are typical but not guaranteed. Always read the current provider SLA before committing to a service level target.
🤖 Use this tool in your agent
✓ Agent-ready codeCopy the snippet below into your agent, newsletter, or script. The tool page at hermesdispatch.dev/tools/agent-sla-calculator/ is the canonical contract: inputs, outputs, and formulas.
# Hermes Dispatch Tool — AI Agent SLA / Uptime Calculator
# Source: https://hermesdispatch.dev/tools/agent-sla-calculator/
# Description: Convert uptime percentage to allowed downtime and estimate revenue at risk.
# License: MIT (generated by hermesdispatch.dev)
#
# INSTALL:
# 1. Save this file as ~/.hermes/hermes-agent/tools/agent_sla_calculator.py
# 2. Restart Hermes or run /reset in a session
# 3. The tool auto-registers if Hermes uses auto-discovery of tools/*.py
#
# MANUAL REGISTRY (if auto-discovery is off):
# from tools.agent_sla_calculator import register
# register()
import json
DATA = {}
def _ok(result):
return json.dumps({"success": True, "data": result}, indent=2)
def _err(message):
return json.dumps({"success": False, "error": message}, indent=2)
TOOL_NAME = "agent_sla_calculator"
TOOLSET = "agents"
SCHEMA = {
"type": "function",
"function": {
"name": "agent_sla_calculator",
"description": "Convert uptime percentage to allowed downtime and estimate revenue at risk.",
"parameters": {
"type": "object",
"properties": {
"uptime_pct": {
"type": "number",
"description": "Target uptime percentage (e.g. 99.9)."
},
"monthly_revenue": {
"type": "number",
"description": "Monthly revenue dependent on the agent."
}
},
"required": [
"uptime_pct"
]
}
}
}
def _run(args):
uptime = float(args.get("uptime_pct", 99.9))
revenue = float(args.get("monthly_revenue", 0))
minutes_per_month = 30 * 24 * 60
allowed_downtime_min = minutes_per_month * (1 - uptime / 100)
allowed_downtime_hr = allowed_downtime_min / 60
revenue_at_risk = revenue * (1 - uptime / 100)
return _ok({
"uptime_pct": uptime,
"allowed_downtime_minutes_month": round(allowed_downtime_min, 1),
"allowed_downtime_hours_month": round(allowed_downtime_hr, 2),
"allowed_downtime_hours_year": round(allowed_downtime_hr * 12, 1),
"revenue_at_risk_monthly": round(revenue_at_risk, 2),
"revenue_at_risk_yearly": round(revenue_at_risk * 12, 2)
})
def HANDLER(args):
try:
return _run(args)
except Exception as e:
return _err(str(e))
def register():
"""Manual registry hook. Import and call this to register with Hermes."""
try:
from tools.registry import registry
registry.register(
name=TOOL_NAME,
toolset=TOOLSET,
schema=SCHEMA,
handler=HANDLER,
)
except ImportError:
print("Hermes registry not found; skipping manual registration.")
if __name__ == "__main__":
# CLI smoke test
print(HANDLER({}))
Want early access to the next locked tool? Subscribe to The Hermes Dispatch.