Document every external account type (21/45 → 45/45) - #794
Conversation
external-accounts.mdx covered 21 of the 45 account types in ExternalAccountType. A reader scanning the tab list would reasonably conclude the other 24 were unsupported. This documents all of them, so the page is now a complete enumeration rather than a sample. Adds 18 fiat tabs - AED, BDT, BWP, CNY, DKK, EGP, GHS, GTQ, HKD, HTG, IDR, JMD, MYR, PKR, SGD, THB, VND, XAF - and extends the Cryptocurrency tab with Ethereum L1, Base, Polygon, Solana, Tron, Plasma and Lightning, which previously showed Spark alone. Required and optional fields come from each <Ccy>AccountInfoBase.yaml, and the beneficiary shape from each <Ccy>Beneficiary.yaml, which is where the variation lives: most need only fullName, but AED and JMD also require an address, GTQ requires countryOfResidence and phoneNumber, and JMD requires phoneNumber. Per-chain asset support is read from each Payment<Chain>WalletInfo.yaml rather than assumed, since Ethereum carries USDC and USDT while Base and Polygon are USDC-only. No example sends paymentRails. It is response-only, and three earlier PRs got that wrong. Example people match the entries added to currencies.ts in #791 so the docs and the visualizer describe the same fictional customers. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MMnjJ8yWJsui7jLqqrDrL4
|
Preview deployment for your docs. Learn more about Mintlify Previews.
|
|
The latest updates on your projects. Learn more about Vercel for GitHub. 2 Skipped Deployments
|
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MMnjJ8yWJsui7jLqqrDrL4
Greptile SummaryThis PR expands the shared external-account documentation to cover every external account type, adding fiat, mobile-money, cryptocurrency, and Lightning examples.
Confidence Score: 4/5The Solana asset documentation should be corrected before merging because it excludes the currently supported USDT path. The new Solana section states that only USDC is supported, while the authoritative payment schema permits both USDC and USDT. Files Needing Attention: mintlify/snippets/external-accounts.mdx
|
| Filename | Overview |
|---|---|
| mintlify/snippets/external-accounts.mdx | Adds comprehensive external-account examples, but understates Solana support by omitting USDT from its supported-assets statement. |
Prompt To Fix All With AI
### Issue 1
mintlify/snippets/external-accounts.mdx:1752
**Solana USDT support omitted**
When developers use this section to determine Solana asset support, it lists only USDC even though `PaymentSolanaWalletInfo` also permits USDT, causing a valid Solana-USDT integration path to be incorrectly excluded.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.Reviews (1): Last reviewed commit: "Document every external account type" | Re-trigger Greptile
|
|
||
| **Solana** | ||
|
|
||
| Supported assets: USDC. |
There was a problem hiding this comment.
When developers use this section to determine Solana asset support, it lists only USDC even though PaymentSolanaWalletInfo also permits USDT, causing a valid Solana-USDT integration path to be incorrectly excluded.
Context Used: mintlify/AGENTS.md (source)
Knowledge Base Used: Mintlify Documentation Site
Prompt To Fix With AI
This is a comment left during a code review.
Path: mintlify/snippets/external-accounts.mdx
Line: 1752
Comment:
**Solana USDT support omitted**
When developers use this section to determine Solana asset support, it lists only USDC even though `PaymentSolanaWalletInfo` also permits USDT, causing a valid Solana-USDT integration path to be incorrectly excluded.
**Context Used:** mintlify/AGENTS.md ([source](https://github.com/lightsparkdev/grid-api/blob/main/mintlify/AGENTS.md))
**Knowledge Base Used:** [Mintlify Documentation Site](https://app.greptile.com/lightspark/-/custom-context/knowledge-base/lightsparkdev/grid-api/-/docs/mintlify-docs-site.md)
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.
Summary
external-accounts.mdxdocumented 21 of the 45 account types inExternalAccountType. Because the page reads as an enumeration — a tab per country or rail — a developer scanning it would reasonably conclude the other 24 aren't supported. This documents all of them.Docs-only, one file, +927 lines. Generated bundles untouched.
Coverage is now 45/45, verified by diffing the
accountTypevalues in the page againstaccount-types.ts.AEDBDTBWPCNYDKKEGPGHSGTQHKDHTGIDRJMDMYRPKRSGDTHBVNDXAFScope grew during the work — worth knowing
I started from a list of 17 missing types. A mechanical diff against
account-types.tsfound 24:DKK,HKD,IDR,MYR,SGD,THB,VNDandLIGHTNINGweren't on my list. Stopping at 17 would have reproduced the same partial-coverage problem in a PR whose entire purpose is fixing it, so all 24 are here.Where the content comes from
Nothing is inferred from existing examples — each type was read from its schema:
<Ccy>AccountInfoBase.yaml<Ccy>Beneficiary.yaml, which is where the real variation lives. Most need onlyfullName, but AED and JMD also require anaddress, GTQ requirescountryOfResidenceandphoneNumber, and JMD requiresphoneNumber. Those are easy to miss and produce confusing validation failures.Payment<Chain>WalletInfo.yaml. Ethereum carriesUSDCandUSDT; Base and Polygon are USDC-only. Stated per chain rather than assumed uniform.No example sends
paymentRails. It's response-only, and three separate PRs (#351, #661, and the original #359 lineage) got that wrong. The single occurrence of it in this file remains where it belongs — theGETresponse example.Example people match the entries added to
currencies.tsin #791, so the docs and the visualizer describe the same fictional customers.Verification
accountTypeused is a validExternalAccountTypememberaccount-types.tsis undocumented-u, consistent with Document external-account GET/DELETE, and fix all 85 broken curl auth examples #793openapi.yamlandmintlify/openapi.yamlbyte-identical tomainNot verified: no visual render. This is 927 lines of new tabs, so the Mintlify preview is the meaningful review — worth checking that the tab strip doesn't overflow badly now that it holds 32 tabs.
make lintwas not run; it fails onmainregardless (npx spectral lintresolves to a stubspectral@0.0.0).One thing this surfaces
SWIFT_ACCOUNTis documented here but absent fromaccount-types.ts, so the visualizer still can't produce it. That's the known gap from closed #775 — the entry was correct but unreachable without wideningFiatCurrencypast a singleaccountType. Unchanged by this PR, but the asymmetry is now visible: the docs describe a type the visualizer can't build.Left out deliberately
I had also listed adding SWIFT to
account-model.mdx. That item doesn't hold up. My earlier check used the wrong path — the file is atplatform-overview/core-concepts/account-model.mdx, notsnippets/. Looking at the real file, it's an explicitly illustrative page showing 8 representative types, not an enumeration. Singling out SWIFT there would recreate the curated-list problem rather than fix one. Left alone.Generated by Claude Code