Skip to content

docs(developer-hub): present-tense pro auth docs, document price range endpoint - #3948

Merged
dourolabs-greenlight[bot] merged 2 commits into
mainfrom
tejas/pfg-1477-docs-remove-stale-july-24-auth-announcements-document-get
Aug 4, 2026
Merged

docs(developer-hub): present-tense pro auth docs, document price range endpoint#3948
dourolabs-greenlight[bot] merged 2 commits into
mainfrom
tejas/pfg-1477-docs-remove-stale-july-24-auth-announcements-document-get

Conversation

@tejasbadadare

Copy link
Copy Markdown
Contributor

Summary

In this PR we remove the stale July 24 auth announcements from the Pyth Pro docs and document the GET /{channel}/price/range endpoint on the History API page

Context

  • The auth requirement went live on July 24, 2026, so the warning callouts, future-tense Authentication sections, FAQ answers, MCP callout, and llms-price-feeds-pro.txt line now state it as current reality; dev-forum announcement links are dropped
  • The new range endpoint section (params, response shape, cursor pagination, limits) was written against the price_range_handler in pyth-lazer — worth cross-checking against the live OpenAPI docs at pyth.dourolabs.app/docs

🤖 Generated with Claude Code

tejasbadadare and others added 2 commits August 3, 2026 16:39
…1478)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@tejasbadadare tejasbadadare self-assigned this Aug 3, 2026
@linear-code

linear-code Bot commented Aug 3, 2026

Copy link
Copy Markdown

PFG-1477

@vercel

vercel Bot commented Aug 3, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
component-library Ready Ready Preview Aug 3, 2026 11:47pm
developer-hub Ready Ready Preview Aug 3, 2026 11:47pm
5 Skipped Deployments
Project Deployment Actions Updated (UTC)
api-reference Skipped Skipped Aug 3, 2026 11:47pm
entropy-explorer Skipped Skipped Aug 3, 2026 11:47pm
insights Skipped Skipped Aug 3, 2026 11:47pm
proposals Skipped Skipped Aug 3, 2026 11:47pm
staking Skipped Skipped Aug 3, 2026 11:47pm

Request Review

@dourolabs-greenlight dourolabs-greenlight Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved by greenlight after WebAuthn authorization.

@dourolabs-greenlight
dourolabs-greenlight Bot merged commit cc01ec5 into main Aug 4, 2026
13 of 16 checks passed
@dourolabs-greenlight
dourolabs-greenlight Bot deleted the tejas/pfg-1477-docs-remove-stale-july-24-auth-announcements-document-get branch August 4, 2026 01:06

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 2 potential issues.

Open in Devin Review

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `access_token` | string | From Jul 24, 2026 | Pyth Pro API key |
| `access_token` | string | **Yes** | Pyth Pro API key |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔍 Docs mark MCP access_token as required while tool schemas keep it optional

The MCP docs now state access_token is Yes (required) for get_historical_price and get_candlestick_data, but their Zod schemas still declare it .optional() (apps/mcp/src/tools/get-historical-price.ts:26-33, apps/mcp/src/tools/get-candlestick-data.ts:26-33), unlike get_latest_price where it is required (apps/mcp/src/tools/get-latest-price.ts:19-23). If the upstream API now enforces auth, callers omitting the token get a runtime auth error rather than a clear schema-level requirement; consider making the schemas required (and updating their .describe/tool descriptions) so code and docs agree.

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Comment on lines +66 to +105
### GET /\{channel\}/price/range

Returns paginated price data for a set of feeds over a bounded time window.

**Query Parameters**

| Parameter | Type | Required | Description | Example |
| ----------------- | ---------- | -------- | ------------------------------------------------------------------------------ | ------------------ |
| `ids` | `number[]` | Yes | Price feed IDs (max 100) | `1,2` |
| `start_timestamp` | `number` | Yes | Window start, Unix timestamp in **microseconds**, inclusive | `1704067200000000` |
| `end_timestamp` | `number` | Yes | Window end, Unix timestamp in **microseconds**, inclusive; the window may not exceed 60 seconds | `1704067260000000` |
| `limit` | `number` | No | Max results per page, 1–1000 (default: `100`) | `500` |
| `after` | `string` | No | Opaque pagination cursor from a previous response's `next` field | |

**Response Schema**

| Field | Type | Description |
| ------ | ---------- | ---------------------------------------------------- |
| `data` | `object[]` | Price objects, one per feed and timestamp |
| `next` | `string` | Opaque cursor, present only when another page exists |

Each `data` entry has the same shape as the `GET /{channel}/price` response:
`channel`, `channel_name`, `price_feed_id`, `price`, `publish_time`,
`best_bid_price`, `best_ask_price`, `publisher_count`, `exponent`,
`confidence`, `funding_rate`, `funding_timestamp`, `funding_rate_interval`,
`market_session`, `ema_price`, `ema_confidence`, `feed_update_timestamp`.

To fetch the next page, pass `next` verbatim as the `after` parameter of the
following request; stop when `next` is absent. Cursors are opaque and must not
be constructed by hand.

**Errors**

| Status | Cause |
| ------ | ---------------------------------------------------------------------------------------- |
| `400` | Invalid parameters, window longer than 60 seconds, or feed not ready/unavailable on the channel |
| `401` | Missing bearer token |
| `403` | Token not entitled to a requested feed |
| `404` | Unknown feed ID |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔍 New range-endpoint section is unverifiable from this repo

The documented parameters, limits (max 100 ids, 60-second window, limit 1–1000 default 100), cursor semantics, and error codes for GET /{channel}/price/range cannot be cross-checked here — no price_range handler exists anywhere in this repository. As the PR description itself notes, this section should be validated against the live OpenAPI spec at https://pyth.dourolabs.app/docs/v1/openapi.json before merge, otherwise users may hit undocumented 400s.

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant