---
title: "Get Cycles"
method: GET
path: "/api/billing/{team_key}/cycles"
tags: ["billing"]
---

# Get Cycles

`GET /api/billing/{team_key}/cycles`

## Request

- Base URL: `https://api.superit.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.superit.ai/api/billing/{team_key}/cycles`
- Auth: HTTP bearer

List billing cycles: the current one, then up to 12 historical ones.

The 12 historical cycles are the first 12 distinct periods found in
Stripe's invoice-creation order (up to 500 invoices), sorted newest-first
for display. That is not guaranteed to be the 12 most recent periods: a
late-finalized or reissued invoice for a recent period can sit beyond the
12th distinct period and be omitted.

## Path parameters

- `team_key` string, required

## Response `200`

Successful Response

- BillingCycleResponse[]
  - `cycleKey` string, required
  - `periodStart` string, date-time, required
  - `periodEnd` string, date-time, required
  - `isCurrent` boolean, required
  - `cycleSource` 'stripe' | 'calendar', required
  - `invoice` BillingCycleInvoiceResponse: A cycle's Stripe invoice as the plan card shows it for a past cycle. ``total_cents`` is the invoice total in the currency's smallest unit, not the amount paid, so a trial invoice reads zero.
    - `status` 'draft' | 'open' | 'paid' | 'uncollectible' | 'void', required
    - `totalCents` integer, required
    - `currency` string, required
  - `pricing` 'per_flow' | 'credits', required

## Other responses

- `400`: Invalid input
- `401`: Not authenticated
- `403`: Forbidden
- `404`: Not found
- `405`: Method not allowed
- `409`: Conflict
- `422`: Validation Error

---

[API](https://skmtc.dev/superit/apis/super-it-api.md) - [All operations](https://skmtc.dev/superit/apis/super-it-api/llms.txt) - [OpenAPI document](https://skmtc.dev/superit/apis/super-it-api/revisions/4944d556c2bb?raw)
