---
title: "Biorhythm Cycles"
method: POST
path: "/v1/western/biorhythm"
tags: ["Western"]
---

# Biorhythm Cycles

`POST /v1/western/biorhythm`

## Request

- Base URL: `https://api.asterwise.com`
- URL: `https://api.asterwise.com/v1/western/biorhythm`
- Auth: HTTP bearer

Computes physical (23-day), emotional (28-day), and intellectual (33-day) biorhythm cycles for a birth date. Returns cycle values (-1.0 to +1.0), percentage, phase label (High above +0.5, Low below -0.5, otherwise Rising or Falling by the curve's direction), trend, and critical day flags. Critical days occur when a cycle crosses zero — these represent instability and vulnerability to poor judgment. Supports single-day and multi-day (up to 90 days) range requests. Formula: sin(2π × t / cycle_length) where t = days since birth. Source: Wilhelm Fliess (1897) physical cycle; Hermann Swoboda (1900) emotional cycle; Alfred Teltscher (1926) intellectual cycle.

## Request body

- BiorhythmRequest
  - `birth_date` string, date, required: Date of birth in YYYY-MM-DD format.
  - `target_date` string, date, nullable: Date to compute cycles for. Defaults to today.
  - `days` integer: Number of consecutive days to compute (1-90). Use 1 for a single day snapshot. Use >1 for a date range.

## Response `200`

Successful Response

- ApiResponseUnionBiorhythmSingleDayResponseBiorhythmRangeResponse
  - `success` boolean: True if the request succeeded
  - `message` string: Human-readable status message
  - `data` union, required: The endpoint response payload
    - BiorhythmSingleDayResponse
      - `birth_date` string, required
      - `target_date` string, required
      - `days_since_birth` integer, required
      - `cycles` object, required
      - `critical_today` string[], required
      - `has_critical_day` boolean, required
      - `composite_score` number, required
      - `note` string, required
    - BiorhythmRangeResponse
      - `birth_date` string, required
      - `start_date` string, required
      - `end_date` string, required
      - `days` integer, required
      - `daily` BiorhythmDailyEntry[], required
        - `date` string, required
        - `cycles` object, required
        - `critical` string[], required
        - `composite_score` number, required
      - `note` string, required

## Other responses

- `401`: Authentication failed
- `403`: Authorization failed
- `404`: Resource not found
- `413`: Payload too large
- `422`: Validation error
- `429`: Rate limit exceeded
- `500`: Internal error
- `502`: Upstream provider error
- `503`: Service unavailable

---

[API](https://skmtc.dev/asterwise/apis/asterwise-api.md) · [All operations](https://skmtc.dev/asterwise/apis/asterwise-api/llms.txt) · [OpenAPI document](https://skmtc.dev/asterwise/apis/asterwise-api/revisions/3c4bbb1194e2?raw)
