---
title: "Age-based equity/bond glidepath"
method: POST
path: "/v1/portfolio/glidepath"
tags: ["Portfolio"]
---

# Age-based equity/bond glidepath

`POST /v1/portfolio/glidepath`

## Request

- Base URL: `https://api.numeratica.com`
- URL: `https://api.numeratica.com/v1/portfolio/glidepath`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Generates an age-based equity/bond allocation path — the target the rebalance endpoint aims at as the investor ages. The rule_of_thumb method sets equity = clamp((rule_base − age)/100, floor, ceiling) (the "own your age in bonds" family). The linear (target-date) method glides equity from start_equity at current_age to end_equity at retirement_age, then holds it ("to") or continues to final_equity at final_age ("through"). Returns a year-by-year path plus the current, retirement, and end allocations. Deterministic; not investment advice.

## Request body

- GlidepathRequest
  - `current_age` integer, required
  - `end_age` integer, required: Project the path through this age (>= current_age).
  - `method` 'rule_of_thumb' | 'linear'
  - `rule_base` number: rule_of_thumb: equity = (rule_base − age)/100. Omit for 110.
  - `equity_floor` number: rule_of_thumb lower clamp. Omit for 0.20, or set 0 to allow an all-bonds floor.
  - `equity_ceiling` number: rule_of_thumb upper clamp. Omit for 0.95.
  - `retirement_age` integer: linear: the glide landing age.
  - `start_equity` number: linear: equity at current_age.
  - `end_equity` number: linear: equity at retirement_age.
  - `glide_type` 'to' | 'through': linear: hold after retirement (to) or keep gliding (through).
  - `final_equity` number: through: equity reached by final_age. Omit = end_equity; set 0 to glide to an all-bonds landing.
  - `final_age` integer: through: age final_equity is reached. Omit = end_age.

## Response `200`

The generated glidepath

- GlidepathResponse
  - `result_id` string
  - `engine_version` string
  - `inputs` GlidepathRequest
    - `current_age` integer, required
    - `end_age` integer, required: Project the path through this age (>= current_age).
    - `method` 'rule_of_thumb' | 'linear'
    - `rule_base` number: rule_of_thumb: equity = (rule_base − age)/100. Omit for 110.
    - `equity_floor` number: rule_of_thumb lower clamp. Omit for 0.20, or set 0 to allow an all-bonds floor.
    - `equity_ceiling` number: rule_of_thumb upper clamp. Omit for 0.95.
    - `retirement_age` integer: linear: the glide landing age.
    - `start_equity` number: linear: equity at current_age.
    - `end_equity` number: linear: equity at retirement_age.
    - `glide_type` 'to' | 'through': linear: hold after retirement (to) or keep gliding (through).
    - `final_equity` number: through: equity reached by final_age. Omit = end_equity; set 0 to glide to an all-bonds landing.
    - `final_age` integer: through: age final_equity is reached. Omit = end_age.
  - `result` object
    - `method` string
    - `path` GlidepathPoint[]
      - `age` integer
      - `equity_weight` number
      - `bond_weight` number
    - `current` GlidepathPoint
      - `age` integer
      - `equity_weight` number
      - `bond_weight` number
    - `at_end` GlidepathPoint
      - `age` integer
      - `equity_weight` number
      - `bond_weight` number
    - `at_retirement` GlidepathPoint
      - `age` integer
      - `equity_weight` number
      - `bond_weight` number
  - `disclaimer` string

## Other responses

- `400`: Invalid request
- `401`: Missing or invalid API key.
- `405`: Method not allowed
- `429`: The key's per-minute request budget is exceeded. Retry after the delay in the Retry-After header.
- `503`: A dependency (e.g. the key store) is temporarily unavailable, or the request exceeded its compute deadline. Retryable.

---

[API](https://skmtc.dev/numeratica/apis/numeratica-financial-planning-calculations-api.md) · [All operations](https://skmtc.dev/numeratica/apis/numeratica-financial-planning-calculations-api/llms.txt) · [OpenAPI document](https://skmtc.dev/numeratica/apis/numeratica-financial-planning-calculations-api/revisions/075bcfbd1ebf?raw)
