---
title: API: cycles
description: REST endpoints tagged cycles — generated from the platform's OpenAPI contract (4 operations).
locale: en
version: 0.2.0
canonical: https://enterium-developer-docs.pages.dev/developers/api/cycles/
---

> Documentation index: https://enterium-developer-docs.pages.dev/developers/llms.txt — every page of this portal has a Markdown twin at <route>.md; the frozen API contract is at https://enterium-developer-docs.pages.dev/developers/api/openapi.json.

:::note
Generated from the OpenAPI contract — do not edit by hand. Interactive explorer with full schemas: [https://entherium.duckdns.org:8443/reference](https://entherium.duckdns.org:8443/reference); frozen spec for this build: [openapi.json](/developers/api/openapi.json).
:::

## `GET /api/v1/cycles/history`

Cycle History

[Open as a page →](./get-cycles-history/)

N-day cycle history. Derived from `pipeline_run` and `lifecycle_log`.

**Auth:** `Authorization: Bearer <token>` required

| Parameter | In | Required | Type | Description |
| --- | --- | --- | --- | --- |
| `days` | query | no | `integer` |  |

**Responses:**

| Code | Meaning | Body |
| --- | --- | --- |
| `200` | Successful Response | `array of CycleDay` |
| `401` | Missing or invalid authentication credentials | `ErrorResponse` |
| `422` | Validation Error | `HTTPValidationError` |

## `GET /api/v1/cycles/status`

Cron Status

[Open as a page →](./get-cycles-status/)

Cron + last/next run summary. Settings-derived; future Cron service
SPEC will replace with real cron state from a `cron_runs` table.

**Auth:** `Authorization: Bearer <token>` required

**Responses:**

| Code | Meaning | Body |
| --- | --- | --- |
| `200` | Successful Response | `CronStatus` |
| `401` | Missing or invalid authentication credentials | `ErrorResponse` |

## `GET /api/v1/cycles/timeline`

Cycle Timeline

[Open as a page →](./get-cycles-timeline/)

Per-day timeline of auto-chain events. Derived from `lifecycle_log` and
`pipeline_run` ordered by timestamp.

**Auth:** `Authorization: Bearer <token>` required

| Parameter | In | Required | Type | Description |
| --- | --- | --- | --- | --- |
| `date` | query | no | `string \| null` |  |

**Responses:**

| Code | Meaning | Body |
| --- | --- | --- |
| `200` | Successful Response | `array of TimelineEvent` |
| `401` | Missing or invalid authentication credentials | `ErrorResponse` |
| `422` | Validation Error | `HTTPValidationError` |

## `GET /api/v1/cycles/today`

Today Funnel

[Open as a page →](./get-cycles-today/)

Funnel summary for today's auto-cycle, plus per-SC breakdown.

Derived from:
  - `pipeline_run` rows created today (≈ runs started)
  - `generated_articles` count by status (pending / ready / live)
  - `salescontracts` for per-SC grouping

**Auth:** `Authorization: Bearer <token>` required

**Responses:**

| Code | Meaning | Body |
| --- | --- | --- |
| `200` | Successful Response | `TodayFunnel` |
| `401` | Missing or invalid authentication credentials | `ErrorResponse` |
