---
title: "Portfolio History"
method: GET
path: "/api/v1/gems/portfolio/history"
tags: ["Gemstones"]
---

# Portfolio History

`GET /api/v1/gems/portfolio/history`

## Request

- Base URL: `https://api.gemstoneaiapp.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.gemstoneaiapp.com/api/v1/gems/portfolio/history`
- Auth: HTTP bearer

GET /api/v1/gems/portfolio/history?days=30
Daily portfolio value series (LNK-DRIFT) written by the 07:30 UTC snapshot
job: each gem's scan-time anchor moved by its variety's index drift.
Self-contained — does not depend on GET /gems/portfolio. Null-safe while
snapshot history is still accruing (<2 points).

## Query parameters

- `days` integer

## Response `200`

Successful Response

- PortfolioHistoryResponse: Portfolio value time series from portfolio_snapshots (LNK-DRIFT). Change fields are null until enough snapshot history exists (e.g. no snapshot ≥7 days old yet → change_*_7d are null).
  - `points` PortfolioHistoryPoint[], required
    - `date` string, required
    - `total_value` number, required
  - `current_value` number, nullable
  - `change_abs_7d` number, nullable
  - `change_pct_7d` number, nullable
  - `change_pct_30d` number, nullable

## Other responses

- `422`: Validation Error

---

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