---
title: "Get Simulation Cycles"
method: GET
path: "/simulations/{simulation_id}/cycles"
tags: ["Simulations"]
---

# Get Simulation Cycles

`GET /simulations/{simulation_id}/cycles`

Get cycle-level metrics for a simulation.

Computes metrics like discharge capacity, coulombic efficiency, capacity
retention, etc. for each cycle from the steps.parquet file using
ionworksdata.cycle_metrics.get_cycle_metrics.

Parameters
----------
simulation_id : str
    ID of the simulation
user_org_client : tuple[str, str | None, AsyncClient]
    Current user_id, organization_id, and Supabase client
simulation_repository : SimulationRepository
    Repository for simulations table
simulation_data_repository : SimulationDataRepository
    Repository for simulation_data table

Returns
-------
dict
    Dictionary with cycle metrics as lists, one value per cycle.
    Keys include: Cycle number, Discharge capacity [A.h],
    Charge capacity [A.h], Coulombic efficiency, Capacity retention, etc.

Raises
------
HTTPException
    404 if no results found, 500 for computation errors

## Path parameters

- `simulation_id` string, required

## Query parameters

- `max_points` integer, nullable — Maximum rows of the cycle series

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/ionworks/apis/fastapi.md) · [All operations](https://skmtc.dev/ionworks/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ionworks/fastapi/revisions/7337a3cbdaf2/schema)
