---
title: "Get Pin Stability"
method: GET
path: "/api/gex/pin-stability"
tags: ["GEX"]
---

# Get Pin Stability

`GET /api/gex/pin-stability`

## Request

- Base URL: `https://api.zerogex.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.zerogex.io/api/gex/pin-stability`
- Auth: HTTP bearer

How stable the Pin Strike has been across the current session.

Kept off ``/api/gex/summary`` on purpose: that endpoint is a single-row
read on a hot cached path, and folding a whole-session scan into it would
make every chart poll pay for a figure that changes at most once a minute.
404 when the session carries no active pin at any point — the client then
shows nothing rather than a zeroed record.

## Query parameters

- `symbol` string

## Response `200`

Successful Response

- PinStabilityResponse: What the Pin Strike has *done* during the session. The third question in the reading order — regime, then confidence, then stability — and the only one the API could not previously answer. A pin that has held one strike since the open and a pin that has migrated thirty points are different signals wearing the same label; without this a drifting pin reads as a level that failed rather than one tracking a repricing book. ``current_*`` is the pin standing right now, ``held_*`` the most recent value that has SETTLED, and ``current_established`` says whether they are the same. Migration is measured between settled levels only, so a one-sample tick at the bell is not reported as a move; ``net_migration`` is signed (negative = the pin has walked down). Sample counts, not minutes: the analytics cycle is ~60s but is not guaranteed to be, so the honest unit is "stored frames". Null-bodied (``stability`` omitted) when the session carried no active pin at all — hide, don't zero.
  - `symbol` string, required
  - `current_pin` number, required
  - `current_since` string, date-time, required
  - `current_samples` integer, required
  - `current_established` boolean, required
  - `held_pin` number, required
  - `held_since` string, date-time, required
  - `held_samples` integer, required
  - `session_open_pin` number, required
  - `net_migration` number, required
  - `distinct_values` integer, required
  - `quiet_samples` integer, required
  - `total_samples` integer, required

## Other responses

- `422`: Validation Error

---

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