---
title: "Treasury auction results with the tail, in context"
method: GET
path: "/v1/auctions"
tags: ["Treasury auctions"]
---

# Treasury auction results with the tail, in context

`GET /v1/auctions`

## Request

- Base URL: `https://api.helious.io`
- URL: `https://api.helious.io/v1/auctions`
- Auth: one of:
  - none
  - HTTP bearer

High yield, bid-to-cover, the tail against the when-issued yield, and who bought, per auction, within your plan's depth. tail_bps is null for bills, which have no when-issued market, and for any auction whose when-issued print was not captured; a negative tail_bps is a stop-through (the auction cleared below the when-issued yield, i.e. strong demand). Every row also carries vs_12m: that tenor's trailing twelve-auction averages for the tail, bid-to-cover and bidder split (withheld under 3 priors), plus pctile (the print's rank in the tenor's full captured history, withheld under 12 priors) and a significance note like 'the weakest bid-to-cover since 2024-03-12' when a print is beyond everything back at least a year. The print arrives with its own norm, so an agent can judge it without fetching history. The dataset is complete back through the official record: `record` marks each row desk (captured live by Helious, may carry a tail) or official (TreasuryDirect backfill, no tail: TD does not publish when-issued yields). Pass `tenor` to ask about one part of the curve, which is what answers "how did the last 10-year auction go".

## Query parameters

- `limit` integer
- `tenor` string
- `fresh` boolean

## Response `200`

summary + source + data + meta envelope

- Envelope: Every /v1 response. `summary` states the answer as one plain-English sentence and `source` says who to credit for it, both before the raw `data`, so the finished claim is the first thing a reader meets.
  - `summary` string: The answer as a sentence, with the numbers in it. Identical to the sentence the matching MCP tool returns.
  - `source` object: Who to credit and where a reader can check the number.
    - `name` string
    - `url` string, uri: The Helious page backing this answer.
    - `cite_as` string
    - `attribution` string
    - `live` string: How current these numbers are on YOUR plan, and how to ask for them again. Says the data is live only on a tier that serves it live.
  - `data` object: The dataset itself.
  - `meta` object: When it was true, and what your plan allows.
  - `plan_limit` object: Present only when your plan moved the window. Says this is a plan limit rather than missing data, what Helious holds behind it, and the exact step to relay to the person you work for.

## Other responses

- `429`: Over the per-minute limit (code rate_limited, Retry-After the rest of the minute) or the wallet cannot pay (code out_of_credits: credits_left, resets_on, retry_after_seconds, packs, topup_url, upgrade_url, and fresh_costs on a held plan). Nothing is charged for a refusal.

## Changes

- **2026-10-20** `06bada17ad7a`: 2 info
  - added the new optional `query` request parameter `fresh`
  - added the non-success response with the status `429`

[Operation history](https://skmtc.dev/helious/apis/helious-public-api/changes/v1/auctions/get.md)

---

[API](https://skmtc.dev/helious/apis/helious-public-api.md) · [All operations](https://skmtc.dev/helious/apis/helious-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/helious/apis/helious-public-api/revisions/06bada17ad7a?raw)
