Skip to content

Update tickers, currencies, countries and transparency documentation - #252

Open
ricardobcl wants to merge 4 commits into
masterfrom
support/update-market-data-documentation
Open

Update tickers, currencies, countries and transparency documentation#252
ricardobcl wants to merge 4 commits into
masterfrom
support/update-market-data-documentation

Conversation

@ricardobcl

Copy link
Copy Markdown

Description

Fixes drift between the market-data pages and the current API behavior, verified against uphold/backend master.

_tickers.md

  • Documented the two currency-pair formats: concatenated for legacy currency pairs (e.g. BTCUSD) and hyphenated for everything else (e.g. SOL-USD) — all samples previously showed only the legacy form. Added hyphenated entries to the list sample.
  • Documented that results depend on authentication: public currencies for unauthenticated requests, additional user-specific currencies when authenticated, and 404 for non-public currencies without auth.
  • Fixed the Response prose ("associative array" → JSON array of objects) and documented the bare GET /v0/ticker route with its USD default explicitly.

_currencies.md

  • Added the previously undocumented features, image and shortName response fields to the table and samples (values taken from the controller and its tests).
  • Added the unavailable asset status, which is also the fallback when no status is known.
  • Clarified that unauthenticated requests return the publicly available assets (not "the full list"), while authenticated requests may include additional, non-public assets.
  • Fixed a typo in the code examples.

_countries.md

  • The payment method field is now documented as an open set: besides ach/card/sepa, alternative payment methods flow through (apple-pay, google-pay, interac, paypal, pix, spei, venmo — all verified in the backend transaction resolver).
  • Documented that blocked subdivisions are excluded from the subdivisions response.

_transparency.md

  • Replaced the stale "an API key is required" claim: the reserve ledger endpoint requires an OAuth access token with the reserve:read scope, issued to an application with the authorization_code grant. The sample now carries an Authorization header.
  • Ledger deposit/withdrawal samples no longer show the empty side with "0.00" — current entries contain only the in side (deposits) or the out side (withdrawals).
  • The Reservechain transfer sample now includes the application, fees and priority fields returned by the public transaction mask.
  • Fixed invalid JSON in four samples (missing commas, unquoted keys) and several typos.

Notes for reviewers

  • The Reservechain samples show transactions but _transparency.md documents no request routes for them; the routes (GET /v0/reserve/transactions[/:id]) live in _transactions.md. GET /v0/reserve/transactions/:id/sources remains undocumented everywhere — left out deliberately, flagging in case it should be added.
  • Ticker samples still contain some delisted legacy assets (e.g. VOX, LBA) mid-list; they remain format-accurate, so they were left untouched.

Related issues

Follow-up to #250 (documentation audit against uphold/backend master).

Impacted areas

Tickers, Currencies, Countries and Transparency pages of the API reference.

Steps to reproduce or test

Development

Every claim was traced to the enforcing code in uphold/backend master (ticker/asset/country/reserve controllers, exchange enums, ledger manager, transaction public mask).

QA

Render the four pages; optionally hit GET /v0/ticker unauthenticated vs authenticated and confirm hyphenated pairs appear for non-legacy assets.

Checklist

  • Add label Breaking Change if it applies.
  • Commits are atomic and logically separated.
  • Performance implications have been considered.
  • Security implications have been considered.
  • API documentation, if required, has been created or updated.
  • New dependencies have been added to package.json.
  • The README file, if required, has been updated.
  • Architectural diagram, if required, has been updated.

Deploy notes

N/A — no files added or removed, so no slate index changes are needed.

🤖 Generated with Claude Code

Copilot AI lite review requested due to automatic review settings August 23, 2026 21:45
@ricardobcl ricardobcl self-assigned this Aug 23, 2026

Copilot AI 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.

Pull request overview

This PR updates the API reference documentation for market data, assets, countries, and reserve transparency to better reflect current API behavior (as verified against uphold/backend master), including corrected sample payloads and clarified authentication-dependent behavior.

Changes:

  • Tickers: clarify legacy vs hyphenated currency-pair formats, document the bare /v0/ticker route, and clarify auth-dependent results.
  • Currencies: document additional response fields (features, image, shortName) and clarify asset visibility/status semantics.
  • Countries + Transparency: broaden/clarify documented field values and update reserve-ledger auth requirements and ledger/Reservechain samples (including JSON fixes).

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
_tickers.md Clarifies currency-pair formats and ticker endpoint behavior, including auth-dependent results and /v0/ticker default base currency.
_currencies.md Adds undocumented asset fields to tables/samples and clarifies unauthenticated vs authenticated asset visibility plus status semantics.
_countries.md Documents payment method as an open set and clarifies that blocked subdivisions are excluded from subdivision results.
_transparency.md Updates reserve-ledger auth requirements and refreshes ledger/Reservechain samples, including corrected JSON and field presence changes.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread _tickers.md Outdated
Comment on lines +6 to +9
Currency pairs are represented in two formats:
pairs between two of the currencies supported early in Uphold's history (such as BTC, ETH, EUR, or USD)
are represented in concatenated form, e.g. `BTCUSD`,
while all other pairs are hyphenated, e.g. `SOL-USD`.
@ricardobcl
ricardobcl force-pushed the support/update-market-data-documentation branch from 33da9ac to 2207c24 Compare August 23, 2026 22:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants