---
title: "Calculates how many days a battery bank can sustain loads without solar input — critical for off-grid and backup power sizing. Accounts for depth of discharge, round-trip efficiency (lithium vs lead-acid), minimum state of charge, and optional partial solar contribution during cloudy weather. Outputs autonomy in days and hours, usable capacity, and daily deficit. Use with avg_solar_contribution_pct = 0 for worst-case (no sun) scenarios, or 20-30% for realistic cloudy-day modeling. Chains from solar_sizing (battery_kwh) and solar_load_audit (daily_kwh)."
method: POST
path: "/api/battery_autonomy"
tags: ["power"]
---

# Calculates how many days a battery bank can sustain loads without solar input — critical for off-grid and backup power sizing. Accounts for depth of discharge, round-trip efficiency (lithium vs lead-acid), minimum state of charge, and optional partial solar contribution during cloudy weather. Outputs autonomy in days and hours, usable capacity, and daily deficit. Use with avg_solar_contribution_pct = 0 for worst-case (no sun) scenarios, or 20-30% for realistic cloudy-day modeling. Chains from solar_sizing (battery_kwh) and solar_load_audit (daily_kwh).

`POST /api/battery_autonomy`

## Request

- Base URL: `https://calc.engineer`
- URL: `https://calc.engineer/api/battery_autonomy`
- Auth: none declared

## Request body

- object
  - `daily_kwh` number, required: Daily energy consumption in kilowatt-hours (kWh)
  - `battery_kwh` number, required: Total installed battery capacity in kWh
  - `dod` number: Depth of discharge (0-1), default 0.8 for lithium
  - `round_trip_efficiency` number: Battery round-trip efficiency (0-1), default 0.90 for lithium, use 0.80 for lead-acid
  - `min_soc_pct` number: Minimum state of charge percentage, default 20%
  - `avg_solar_contribution_pct` number: Average solar contribution during autonomy period (0-100%), default 0 for worst-case

## Response `200`

Computed result for battery_autonomy

- object
  - `result` object, required
    - `usable_kwh` number, required: Usable battery capacity after DoD and efficiency losses (kWh)
    - `autonomy_days` number, required: Number of days the battery can sustain loads
    - `autonomy_hours` number, required: Number of hours the battery can sustain loads
    - `daily_deficit_kwh` number, required: Effective daily energy need after solar contribution (kWh)
    - `battery_cycles_per_year` number, required: Estimated full discharge cycles per year (365 / autonomy_days)
  - `tool` string, required
  - `version` string, required
  - `computed_at` string, date-time, required
  - `chain` object, required
    - `feeds` unknown[]
      - unknown
    - `accepts_from` unknown[]
      - unknown

## Other responses

- `400`: Validation error or invalid JSON
- `404`: Tool not found

---

[API](https://skmtc.dev/calc/apis/calc-engineer-api.md) · [All operations](https://skmtc.dev/calc/apis/calc-engineer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/calc/apis/calc-engineer-api/revisions/8830480ec488?raw)
