⏱️

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 code

Copy 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.

python
# 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.

🚀 Get AI automation insights daily

15:00 MST. One-click unsubscribe.

Subscribe