# Post Validator Yield Latest

Returns the latest validator yield metrics for a batch of hotkey and subnet positions.

_Source: https://beta.taostats.io/docs/api-reference/validator/post-validator-yield-latest_

_Last reviewed: 2026-09-18_

```http
POST https://api.taostats.io/api/dtao/validator/yield/latest/v1
```

Requires an API key in the `Authorization` header.

Returns the latest validator yield metrics for a batch of hotkey and subnet positions. Send a non-empty `positions` array in the JSON body; each position contains a `hotkey` and `netuid`. The response includes APY, epoch participation and stake.

## Code samples

**cURL**

```bash
curl -X POST \
  -H "Authorization: <YOUR_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "positions": [
      {
        "hotkey": "string",
        "netuid": 0
      }
    ]
  }' \
  "https://api.taostats.io/api/dtao/validator/yield/latest/v1"
```

**JavaScript**

```js
const response = await fetch('https://api.taostats.io/api/dtao/validator/yield/latest/v1', {
  method: 'POST',
  headers: {
    Authorization: '<YOUR_API_KEY>',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "positions": [
      {
        "hotkey": "string",
        "netuid": 0
      }
    ]
  }),
});
const data = await response.json();
```

**Python**

```python
import requests

response = requests.post(
    "https://api.taostats.io/api/dtao/validator/yield/latest/v1",
    headers={"Authorization": "<YOUR_API_KEY>"},
    json={
      "positions": [
        {
          "hotkey": "string",
          "netuid": 0
        }
      ]
    },
)
data = response.json()
```

## Parameters

_No parameters._

## Request body

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | `integer (int32)` |  |  |
| `min_stake` | `integer (int64), nullable` |  |  |
| `order` | `string` |  | One of `netuid_asc`, `netuid_desc`, `name_asc`, `name_desc`, `stake_asc`, `stake_desc`, `one_hour_apy_asc`, `one_hour_apy_desc`, `one_day_apy_asc`, `one_day_apy_desc`, `seven_day_apy_asc`, `seven_day_apy_desc`, `thirty_day_apy_asc`, `thirty_day_apy_desc`. |
| `page` | `integer (int32)` |  |  |
| `positions` | `array` | Yes |  |
| `positions[].hotkey` | `string` | Yes | SS58 or hex format |
| `positions[].netuid` | `integer (int32)` | Yes |  |

```json
{
  "positions": [
    {
      "hotkey": "string",
      "netuid": 0
    }
  ]
}
```

## Responses

### `200` — Validators retrieved successfully

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `data` | `array` | Yes |  |
| `data[].block_number` | `integer (int32)` | Yes |  |
| `data[].hotkey` | `object` | Yes |  |
| `data[].hotkey.hex` | `string` | Yes | The hex format of the hot key |
| `data[].hotkey.ss58` | `string` | Yes | The SS58 format of the hot key |
| `data[].name` | `string, nullable` |  |  |
| `data[].netuid` | `integer (int32)` | Yes |  |
| `data[].one_day_apy` | `number (double)` | Yes |  |
| `data[].one_day_epoch_participation` | `number (double), nullable` |  |  |
| `data[].one_hour_apy` | `number (double)` | Yes |  |
| `data[].seven_day_apy` | `number (double)` | Yes |  |
| `data[].seven_day_epoch_participation` | `number (double), nullable` |  |  |
| `data[].stake` | `integer (int64)` | Yes |  |
| `data[].thirty_day_apy` | `number (double)` | Yes |  |
| `data[].thirty_day_epoch_participation` | `number (double), nullable` |  |  |
| `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` | Validators 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).
