Skip to content

organize sandbox test case information#268

Merged
shreyav merged 1 commit intomainfrom
03-15-organize_sandbox_test_case_information
Mar 17, 2026
Merged

organize sandbox test case information#268
shreyav merged 1 commit intomainfrom
03-15-organize_sandbox_test_case_information

Conversation

@shreyav
Copy link
Copy Markdown
Contributor

@shreyav shreyav commented Mar 16, 2026

No description provided.

Copy link
Copy Markdown
Contributor Author

shreyav commented Mar 16, 2026

This stack of pull requests is managed by Graphite. Learn more about stacking.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 16, 2026

✱ Stainless preview builds

This PR will update the grid SDKs with the following commit messages.

kotlin

docs(api): remove sandbox testing details from external accounts and quotes

openapi

docs(api): remove sandbox testing details from external account and quote endpoints

python

docs(api): remove sandbox testing patterns from external_accounts/quotes methods

typescript

docs(api): remove sandbox testing docs from external-accounts and quotes
grid-openapi studio · code

Your SDK build had at least one "note" diagnostic.
generate ✅

grid-python studio · code

generate ✅build ⏳lint ⏳test ⏳

grid-kotlin studio · code

Your SDK build had at least one "note" diagnostic.
generate ✅build ✅lint ✅test ✅

⚠️ grid-typescript studio · code

Your SDK build had a failure in the lint CI job, which is a regression from the base state.
generate ✅build ✅lint ❗test ✅

⏳ These are partial results; builds are still running.


This comment is auto-generated by GitHub Actions and is automatically kept up to date as you push.
If you push custom code to the preview branch, re-run this workflow to update the comment.
Last updated: 2026-03-17 21:23:13 UTC

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Mar 16, 2026

Greptile Summary

This PR centralizes sandbox test case documentation by extracting duplicated inline patterns from OpenAPI descriptions and product-specific sandbox pages into a set of reusable Mintlify snippets, and adds a new top-level api-reference/sandbox-testing page that consolidates everything in one place.

Key changes:

  • New api-reference/sandbox-testing.mdx — a single canonical sandbox guide covering external accounts, transfer-in/out, quotes, and UMA addresses, added to the docs.json navigation under API Reference.
  • New shared snippets (sandbox-external-accounts, sandbox-transfer-patterns, sandbox-quote-patterns, sandbox-beneficiary-verification, sandbox-uma-addresses) replace duplicated content across the payouts and ramps sandbox pages.
  • sandbox-vpa-validation.mdx deleted and replaced by the more general sandbox-beneficiary-verification.mdx, which covers all account types that support name verification (not just INR UPI).
  • OpenAPI descriptions cleaned up — inline sandbox test patterns removed from customers_external_accounts.yaml, platform_external_accounts.yaml, and quotes.yaml; descriptions now point to the dedicated sandbox guide.
  • Credential variable corrected$SANDBOX_API_KEY$SANDBOX_CLIENT_ID throughout ramps/platform-tools/sandbox-testing.mdx.
  • Quote vs. transfer pattern distinctionsandbox-quote-patterns.mdx correctly documents that quote-level suffix behaviors differ from transfer-level ones (e.g., suffix 003 = slow payment for quotes vs. account closed for transfers); the comment in the payouts page example was also corrected accordingly.
  • One gap identified: ramps/platform-tools/sandbox-testing.mdx imports SandboxTransferPatterns but not SandboxQuotePatterns, leaving ramps users without the quote-specific pattern table despite the page covering off-ramp quote testing.

Confidence Score: 4/5

  • Safe to merge with one minor documentation gap to address.
  • The reorganization is well-structured and the new snippets are accurate. The only issue is the ramps sandbox page omitting SandboxQuotePatterns, which could leave ramps users with an incomplete picture of quote test outcomes. No code logic, API behavior, or schema changes are involved.
  • mintlify/ramps/platform-tools/sandbox-testing.mdx — missing SandboxQuotePatterns import and usage in the cross-currency quotes section.

Important Files Changed

Filename Overview
mintlify/api-reference/sandbox-testing.mdx New centralized sandbox testing page for the API reference; imports and composes all shared snippets correctly.
mintlify/ramps/platform-tools/sandbox-testing.mdx Fixes credential variable name (SANDBOX_API_KEYSANDBOX_CLIENT_ID) throughout; replaces inline account-pattern tables with shared snippets, but omits SandboxQuotePatterns from the cross-currency quotes section while the equivalent payouts page includes it.
mintlify/payouts-and-b2b/platform-tools/sandbox-testing.mdx Refactored to use shared snippets; correctly includes SandboxQuotePatterns in the cross-currency quotes section, and fixes inline comment accuracy (003 = slow payment, not account closed).
mintlify/snippets/sandbox-quote-patterns.mdx New snippet defining quote-specific test patterns, which differ from transfer patterns for the same suffixes (e.g., 003 = slow payment vs account closed in transfers).
mintlify/snippets/sandbox-transfer-patterns.mdx New snippet with the transfer-level test patterns table; standardizes on suffix 005 for timeout, resolving a prior inconsistency where 009 was mentioned in one section.
mintlify/snippets/sandbox-beneficiary-verification.mdx Replaces the INR/UPI-specific sandbox-vpa-validation.mdx with a generalized beneficiary verification snippet applicable to all account types that support the feature.
mintlify/snippets/sandbox-vpa-validation.mdx Deleted; replaced by the more general sandbox-beneficiary-verification.mdx snippet.
openapi/paths/customers/customers_external_accounts.yaml Removed inline sandbox testing documentation from the endpoint description; now points to the dedicated sandbox testing guide.
openapi/paths/platform/platform_external_accounts.yaml Same cleanup as customers_external_accounts.yaml — inline sandbox patterns removed from the platform external accounts POST description.
openapi/paths/quotes/quotes.yaml Removed inline sandbox testing patterns from the quotes POST description; reference updated to the new sandbox testing guide.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Sandbox Testing Content] --> B[api-reference/sandbox-testing.mdx\nnew canonical page]
    A --> C[payouts-and-b2b/platform-tools/sandbox-testing.mdx]
    A --> D[ramps/platform-tools/sandbox-testing.mdx]

    B --> S1[sandbox-external-accounts.mdx]
    B --> S2[sandbox-beneficiary-verification.mdx]
    B --> S3[sandbox-transfer-patterns.mdx]
    B --> S4[sandbox-quote-patterns.mdx]
    B --> S5[sandbox-uma-addresses.mdx]

    C --> S1
    C --> S2
    C --> S3
    C --> S4

    D --> S1
    D --> S2
    D --> S3
    D -. missing .-> S4

    E[sandbox-vpa-validation.mdx\ndeleted] -. replaced by .-> S2

    style D fill:#ffe0e0
    style S4 fill:#ffe0e0
Loading

Comments Outside Diff (1)

  1. mintlify/ramps/platform-tools/sandbox-testing.mdx, line 326 (link)

    Missing SandboxQuotePatterns in ramps quote testing

    The ramps page has a "Failed conversions" section that walks through off-ramp quote testing (e.g., suffix 002 for insufficient funds), but the quote-specific pattern table (sandbox-quote-patterns.mdx) is never imported or included here. This matters because quote patterns behave differently than transfer patterns for the same suffixes:

    • Suffix 003 in transferAccount closed/invalid — transfer fails immediately
    • Suffix 003 in quoteLong payment — completes after approximately 6 minutes

    The payouts sandbox page correctly includes <SandboxQuotePatterns /> before its "Creating Quotes with Test Accounts" section. The ramps page is missing the equivalent, so ramps users will only see transfer patterns and may be confused when quote results don't match expectations.

    Consider adding the import and snippet to the ramps page in the same way it was added to the payouts page:

    import SandboxQuotePatterns from '/snippets/sandbox-quote-patterns.mdx';
    

    And placing <SandboxQuotePatterns /> in the cross-currency quotes section.

Prompt To Fix All With AI
This is a comment left during a code review.
Path: mintlify/ramps/platform-tools/sandbox-testing.mdx
Line: 326

Comment:
**Missing `SandboxQuotePatterns` in ramps quote testing**

The ramps page has a "Failed conversions" section that walks through off-ramp quote testing (e.g., suffix `002` for insufficient funds), but the quote-specific pattern table (`sandbox-quote-patterns.mdx`) is never imported or included here. This matters because quote patterns behave differently than transfer patterns for the same suffixes:

- Suffix `003` in **transfer**`Account closed/invalid — transfer fails immediately`
- Suffix `003` in **quote**`Long payment — completes after approximately 6 minutes`

The payouts sandbox page correctly includes `<SandboxQuotePatterns />` before its "Creating Quotes with Test Accounts" section. The ramps page is missing the equivalent, so ramps users will only see transfer patterns and may be confused when quote results don't match expectations.

Consider adding the import and snippet to the ramps page in the same way it was added to the payouts page:

```
import SandboxQuotePatterns from '/snippets/sandbox-quote-patterns.mdx';
```

And placing `<SandboxQuotePatterns />` in the cross-currency quotes section.

How can I resolve this? If you propose a fix, please make it concise.

Last reviewed commit: fa378c3

Copy link
Copy Markdown
Contributor

@pengying pengying left a comment

Choose a reason for hiding this comment

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

Few tweaks

Comment thread mintlify/docs.json Outdated
Comment thread mintlify/api-reference/sandbox-testing.mdx Outdated
@@ -0,0 +1 @@
The flows for creating external accounts in sandbox are the same as in production. The **last 3 digits** of an external account's primary identifier (account number, IBAN, CLABE, Spark wallet address, etc.) determine the test scenario when that account is used in transfers or quotes. For identifiers with a domain part (e.g. PIX email keys), append the test digits to the username portion — for example, `testuser.002@pix.com.br`.
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.

is this hard to manage on our side? Or is the logic just split('@')[0][-3:]

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

yep exactly

Comment thread mintlify/api-reference/sandbox-testing.mdx Outdated
Comment thread mintlify/snippets/sandbox-beneficiary-verification.mdx Outdated
Comment thread mintlify/snippets/sandbox-quote-patterns.mdx Outdated
@shreyav shreyav force-pushed the 03-15-organize_sandbox_test_case_information branch from 1bc74a0 to fa378c3 Compare March 17, 2026 20:22
@vercel
Copy link
Copy Markdown

vercel Bot commented Mar 17, 2026

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

Project Deployment Actions Updated (UTC)
grid-flow-builder Ready Ready Preview, Comment Mar 17, 2026 8:23pm

Request Review

@shreyav shreyav merged commit 02447bc into main Mar 17, 2026
9 checks passed
@shreyav shreyav deleted the 03-15-organize_sandbox_test_case_information branch March 17, 2026 21:12
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.

2 participants