# Get Subnet Pruning History

Returns historical subnet pruning ranks, moving prices and immunity status.

_Source: https://beta.taostats.io/docs/api-reference/subnet/get-subnet-pruning-history_

_Last reviewed: 2026-10-12_

```http
GET https://api.taostats.io/api/subnet/pruning/history/v1
```

Requires an API key in the `Authorization` header.

> [!WARNING]
> **This API is retired on November 9, 2026**
>
> Every endpoint in this reference — every path that starts with `/api/` — stops working on **November 9, 2026**. The [new Taostats API](https://beta.taostats.io/docs/new) replaces it: same key, new paths under `https://api.taostats.io/v1/`. Move your integration to the [new API reference](https://beta.taostats.io/docs/new) before then.

Returns historical subnet pruning ranks, moving prices and immunity status. These records describe subnet deregistration risk, not individual neuron pruning. They include the registration block and remaining immunity blocks.

## Try it

Try this request in the browser on the HTML version of this page, or use the code samples below.

### Examples

Track pruning activity in subnet 19 over time

```text
https://api.taostats.io/api/subnet/pruning/history/v1?netuid=19&order=block_number_desc&limit=50
```

### Code samples

**cURL**

```bash
curl -H "Authorization: <YOUR_API_KEY>" \
  "https://api.taostats.io/api/subnet/pruning/history/v1?netuid=19&limit=50&order=block_number_desc"
```

**JavaScript**

```js
const response = await fetch('https://api.taostats.io/api/subnet/pruning/history/v1?netuid=19&limit=50&order=block_number_desc', {
  headers: {
    Authorization: '<YOUR_API_KEY>',
  },
});
const data = await response.json();
```

**Python**

```python
import requests

response = requests.get(
    "https://api.taostats.io/api/subnet/pruning/history/v1?netuid=19&limit=50&order=block_number_desc",
    headers={"Authorization": "<YOUR_API_KEY>"},
)
data = response.json()
```

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `netuid` | query | `integer (int32)` |  |  |
| `block_start` | query | `integer (int32)` |  | Start of block range (inclusive) |
| `block_end` | query | `integer (int32)` |  | End of block range (inclusive) |
| `timestamp_start` | query | `integer (int64)` |  | Start of timestamp range in Unix timestamp (seconds since 1970-01-01) (inclusive) |
| `timestamp_end` | query | `integer (int64)` |  | End of timestamp range in Unix timestamp (seconds since 1970-01-01) (inclusive) |
| `page` | query | `integer (int32)` |  |  |
| `limit` | query | `integer (int32)` |  |  |
| `order` | query | `string` |  | One of `block_number_asc`, `block_number_desc`, `timestamp_asc`, `timestamp_desc`. |

## Responses

### `200` — Subnets history retrieved successfully

| Field | Type | Required |
| --- | --- | --- |
| `data` | `array` | Yes |
| `data[].block_number` | `integer (int32)` | Yes |
| `data[].immunity_blocks_remaining` | `integer (int32)` | Yes |
| `data[].is_immune` | `boolean` | Yes |
| `data[].moving_price` | `string` | Yes |
| `data[].netuid` | `integer (int32)` | Yes |
| `data[].pruning_rank` | `integer (int32)` | Yes |
| `data[].registered_at_block` | `integer (int32)` | Yes |
| `data[].timestamp` | `string (date-time)` | Yes |
| `pagination` | `object` | Yes |
| `pagination.current_page` | `integer (int32)` | Yes |
| `pagination.next_page` | `integer (int32), nullable` |  |
| `pagination.per_page` | `integer (int32)` | Yes |
| `pagination.prev_page` | `integer (int32), nullable` |  |
| `pagination.total_items` | `integer (int32)` | Yes |
| `pagination.total_pages` | `integer (int32)` | Yes |

### Other responses

| Status | Meaning |
| --- | --- |
| `400` | Bad request |
| `404` | Subnets history not found |
| `500` | Internal server error |

Every request needs an `Authorization` header holding your API key — see [Getting started with the Taostats API](https://beta.taostats.io/docs/start-here/getting-started-with-taostats-api).
