---
title: "Get API public v1 live cohort bias history by coin"
method: GET
path: "/api/public/v1/live/cohort-bias-history/{coin}"
---

# Get API public v1 live cohort bias history by coin

`GET /api/public/v1/live/cohort-bias-history/{coin}`

## Request

- Base URL: `https://api.coinversa.ai`
- URL: `https://api.coinversa.ai/api/public/v1/live/cohort-bias-history/{coin}`
- Auth: API key in header `X-API-Key`
- TypeScript: <https://skmtc.dev/coinversa/apis/coinversa-api/docs/api/public/v1/live/cohort-bias-history/:coin/get.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `coin` string, required: Market symbol, e.g. BTC or xyz:GOLD. Case and surrounding whitespace are normalized.

## Query parameters

- `hours` integer: Window in hours ending now (UTC), silently clamped to 1..2160.
- `tierType` 'pnl' | 'pnl_recent' | 'size': Cohort axis: pnl (all-time PnL tiers), pnl_recent (same slugs over the last 30 days of PnL; snapshots since 2026-05-14) or size (lifetime volume).
- `tier` string: Cohort tier slug. Accepts both vocabularies — new PnL slugs apex, sharps, grinders, scrapers, crowd, bleeders, trapped, blown_out and new size slugs heavyweights, cruiserweights, middleweights, welterweights, lightweights, featherweights, flyweights, strawweights are normalized to their legacy equivalents (money_printer, smart_money, grinder, humble_earner, exit_liquidity, semi_rekt, full_rekt, giga_rekt / leviathan, tidal_whale, whale, small_whale, apex_predator, dolphin, fish, shrimp). Responses continue to emit legacy slugs.
- `tiers` string: Comma-separated list of 1 to 8 tier slugs (either vocabulary, whitespace tolerated), e.g. apex,crowd. Answers [{tier, history}] in the order given (duplicates removed) — one call for the chart's Apex vs Crowd sub-pane. Passing both tier and tiers is rejected with 422, as is an unknown slug.
- `format` 'rows' | 'layer': rows (default): the historical shapes (flat array with tier, grouped array otherwise). layer: the chart envelope {coin, tierType, tiers, windowStart, windowEnd, netBiasUnit, series, source, coverage} with netBias as a -1..1 ratio and provenance/coverage metadata; needs tiers or tier.

## Response `200`

OK

- unknown

## Other responses

- `400`: Bad Request
- `403`: Forbidden
- `422`: Unprocessable Entity
- `429`: Too Many Requests
- `500`: Internal Server Error
- `504`: Gateway Timeout

## Changes

- **2026-10-12** `7aae8c32ff78`: 3 info
  - added the new optional `query` request parameter `format`
  - added the new optional `query` request parameter `tiers`
  - added the new enum value `pnl_recent` to the `query` request parameter `tierType`
- **2026-09-23** `f2eba29805e5`: 7 info
  - added the non-success response with the status `403`
  - removed the non-success response with the status `401`
  - added the optional property `reason` to the response with the `400` status
  - added the optional property `reason` to the response with the `422` status
  - …3 more

[Operation history](https://skmtc.dev/coinversa/apis/coinversa-api/changes/api/public/v1/live/cohort-bias-history/:coin/get.md)

---

[API](https://skmtc.dev/coinversa/apis/coinversa-api.md) - [All operations](https://skmtc.dev/coinversa/apis/coinversa-api/llms.txt) - [OpenAPI document](https://skmtc.dev/coinversa/apis/coinversa-api/revisions/3454317a5830?raw)
