docs: [portfolio] add hidden Portfolio v2 API docs - #949
Merged
Conversation
Add source-verified, whitelisted-only Portfolio v2 positions docs so
integrators can migrate off v1. All pages are hidden (hidden: true, not in
docs.json nav, excluded from llms.txt) and shared by direct URL. Per YY, no
access/request path is mentioned anywhere.
- openapi-spec/portfolio/v2/portfolio.yaml: /positions (+ query form), SSE, and
Fluid compatibility variant, built from jup-ag/portfolio @ a5e347f
- portfolio/v2/index.mdx: guide with response model, V2Amount, SSE, fluid, and
a v1 to v2 migration section
- api-reference/portfolio/v2/{get-positions,stream-positions,get-fluid-positions}.mdx
- product-learning.md: new Jupiter Portfolio API section
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
SSE streaming is no longer available. Remove the /positions/{address}/sse
path from the spec, the streaming section and card from the guide, and delete
the stream-positions API reference page. Record in product-learning that the
route exists in source but must not be documented until live again.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The Fluid compatibility variant is a narrow single-integration shim, not a
general-purpose endpoint. Remove /fluid/positions/{address} from the spec,
the guide (section, table row, card), and delete the API reference page so the
v2 docs focus on /positions. Record the reasoning in product-learning.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
9 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add documentation for the Portfolio API V2 positions endpoints so integrators (starting with Solana, parent SPOT-210) can migrate off v1. v2 is a positions-only, multi-chain API with a redesigned per-fetcher response envelope.
All pages are hidden (
hidden: true, not indocs.jsonnav, excluded fromllms.txt) and are shared by direct URL with whitelisted organisations only. Per YY, the docs deliberately do not include any access/request path, so there is no discoverable way in.Schema is source-verified against
jup-ag/portfolio@a5e347f(@jup-ag/portfolio-coretypes +packages/routes-portfolio-v2).Changes
openapi-spec/portfolio/v2/portfolio.yaml(new) — modelsGET /positions/{address}(and the?address=query form), the SSE variantGET /positions/{address}/sse, and the Fluid compatibility variantGET /fluid/positions/{address}. Full response schema: per-fetcher envelope, 5 element types, 3 asset types, theAmountfixed/floating union, per-fetcher error branch, and the 503 body.portfolio/v2/index.mdx(new) — hidden guide: base URL + auth (whitelisted, no request path), params, response model,V2Amountdecode, error handling (200 partial vs 503), SSE, Fluid, a v1 → v2 migration section, and a complete TypeScript example.api-reference/portfolio/v2/{get-positions,stream-positions,get-fluid-positions}.mdx(new) — hiddenopenapi:wrappers..claude/rules/product-learning.md— new Jupiter Portfolio API section with sources and v2 facts.v1 pages, spec, and nav are untouched. v2 has no
/platformsor/staked-jupequivalent; those stay on v1.Linear Issues
Checklist
node generate-llms-from-docs.jsrun — no v2 entries appear (hidden confirmed),llms.txtunchangedmint broken-linkspassesmint openapi-check— OpenAPI definition valid;mint validate— build validation passedtitle,description,llmsDescriptionandhidden: truedocs.jsonnavigation unchanged (pages intentionally not in nav).claude/rules/updated with learningsNotes for reviewer
api.jup.ag/portfolio/v2confirmed by YY; the/portfolio/v2prefix is applied by the gateway (not in the source repo)./fluid/positions/{address}is a Solana-only legacy-compatibility serializer restricted to three staking fetchers; it is documented lightly with a loose response schema by design.