Skip to content

feat: adding more docs about minimum required data for external accounts#312

Open
pengying wants to merge 1 commit intomainfrom
03-31-feat_adding_more_docs_about_minimum_required_data_for_external_accounts
Open

feat: adding more docs about minimum required data for external accounts#312
pengying wants to merge 1 commit intomainfrom
03-31-feat_adding_more_docs_about_minimum_required_data_for_external_accounts

Conversation

@pengying
Copy link
Copy Markdown
Contributor

@pengying pengying commented Apr 1, 2026

No description provided.

@mintlify
Copy link
Copy Markdown

mintlify bot commented Apr 1, 2026

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
Grid 🟢 Ready View Preview Apr 1, 2026, 3:02 AM

@vercel
Copy link
Copy Markdown

vercel bot commented Apr 1, 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 Apr 1, 2026 3:01am

Request Review

Copy link
Copy Markdown
Contributor Author

pengying commented Apr 1, 2026

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

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Apr 1, 2026

Greptile Summary

This PR expands the external accounts documentation with two new country examples (Philippines/PHP and United Kingdom/GBP), corresponding client-side validation snippets, and a new "Minimum required beneficiary fields" reference table.

Key changes:

  • New Philippines tab with PHP bank-transfer curl example, account-number format note, and \d{8,16} validation
  • New United Kingdom tab with GBP Faster Payments curl example (sort code + account number), format notes, and \d{6} / \d{8} validation
  • New "Minimum required beneficiary fields" section with per-country tables for individual and business beneficiaries

Issues found:

  • The business-beneficiary table lists legalName as a top-level required field, but the code example immediately above shows the correct structure is businessInfo.legalName. This is a factual error that will cause developers to send malformed requests.
  • Eight supported countries (India, Nigeria, South Africa, Kenya, Tanzania, Zambia, Rwanda, Canada) are absent from the new minimum-required-fields table, leaving a significant gap for developers targeting those markets.
  • The Brazil row notes "taxId required at account level", but the PIX code example does not show this field, making it unclear where to include it.

Confidence Score: 4/5

Safe to merge after fixing the businessInfo.legalName field path error in the business beneficiary table, which will cause developer errors.

One P1 issue exists: the business-beneficiary row incorrectly documents legalName as a direct field rather than businessInfo.legalName, which contradicts the code example and will lead to API errors. The remaining two findings are P2 quality improvements (incomplete table coverage and a missing Brazil taxId example). The new PHP and GBP examples and validation snippets are internally consistent and well-structured.

mintlify/snippets/external-accounts.mdx — specifically the business beneficiary row in the new minimum required fields table (line 616)

Important Files Changed

Filename Overview
mintlify/snippets/external-accounts.mdx Adds Philippines (PHP) and United Kingdom (GBP) account examples, validation snippets, and a new "Minimum required beneficiary fields" reference table. The business-beneficiary row in the table uses the wrong field path (legalName instead of businessInfo.legalName), which will mislead developers into sending malformed requests. Several countries covered in the tabs are absent from the table, and the Brazil taxId note lacks a matching code example.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Create External Account POST] --> B{Account Currency}
    B -->|USD| C[US_ACCOUNT\nrequires: beneficiaryType, fullName]
    B -->|MXN| D[CLABE\nrequires: beneficiaryType, fullName]
    B -->|BRL| E[PIX\nrequires: beneficiaryType, fullName\n+ taxId at account level]
    B -->|PHP| F[PHP_ACCOUNT NEW\nrequires: beneficiaryType, fullName\n+ paymentRails]
    B -->|GBP| G[GBP_ACCOUNT NEW\nrequires: beneficiaryType, fullName, address\n+ sortCode + accountNumber\n+ paymentRails]
    B -->|EUR| H[IBAN\nrequires: beneficiaryType, fullName, address]
    B -->|Other| I[INR / NGN / ZAR\nKES / TZS / ZMW\nRWF / CAD\nrequirements not yet\ndocumented in table]

    C & D & E & F & G & H --> J{Beneficiary Type}
    J -->|INDIVIDUAL| K[fullName\n+ address if GBP or EUR]
    J -->|BUSINESS| L[businessInfo.legalName\ntable incorrectly shows legalName]

    K & L --> M{Account Status}
    M -->|ACTIVE| N[Ready for payments]
    M -->|PENDING| O[Awaiting verification]
    M -->|UNDER_REVIEW| P[Additional review required]
    M -->|INACTIVE| Q[Disabled]
Loading
Prompt To Fix All With AI
This is a comment left during a code review.
Path: mintlify/snippets/external-accounts.mdx
Line: 616

Comment:
**`legalName` field path is incorrect for business beneficiaries**

The table lists `legalName` as a required field directly on the beneficiary object, but the actual API structure (shown in the "Business beneficiaries" code example above at line ~580) nests it under `businessInfo.legalName`. A developer relying on this table would likely send:

```json
"beneficiary": {
  "beneficiaryType": "BUSINESS",
  "legalName": "Acme Corp"
}
```

…instead of the correct structure:

```json
"beneficiary": {
  "beneficiaryType": "BUSINESS",
  "businessInfo": {
    "legalName": "Acme Corp"
  }
}
```

This will likely result in an API error or silent field-drop for developers using this table as a reference.

```suggestion
| All countries | `beneficiaryType`, `businessInfo.legalName` | None (address optional) | Same requirements across all regions |
```

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

---

This is a comment left during a code review.
Path: mintlify/snippets/external-accounts.mdx
Line: 603-610

Comment:
**Minimum required fields table is missing many supported countries**

The new table covers US, Mexico, Brazil, Philippines, and United Kingdom/Europe, but the tabs section documents many additional countries — India (INR), Nigeria (NGN), South Africa (ZAR), Kenya (KES), Tanzania (TZS), Zambia (ZMW), Rwanda (RWF), and Canada (CAD) — none of which appear here. Developers targeting those markets will search this table and find nothing, undercutting the table's value as a comprehensive reference.

Consider adding rows for the remaining countries, or adding a clarifying note (e.g. "Countries not listed above follow the same rules as US (USD)") so readers know what applies to omitted regions.

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

---

This is a comment left during a code review.
Path: mintlify/snippets/external-accounts.mdx
Line: 607

Comment:
**Brazil `taxId` note conflicts with the PIX code example**

The table notes "`taxId` required at account level" for Brazil, but the existing PIX code example (around line 88) does not include a `taxId` field anywhere in the `accountInfo` payload. A developer reading this table note will look at the code example for guidance on where to place `taxId` and find nothing there.

Either update the PIX code example to include the `taxId` field in `accountInfo`, or clarify in the note precisely what the field name and location are (e.g. `accountInfo.taxId`).

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

Reviews (1): Last reviewed commit: "feat: adding more docs about minimum req..." | Re-trigger Greptile


| Country | Required Fields | Required Address Fields | Notes |
| --- | --- | --- | --- |
| All countries | `beneficiaryType`, `legalName` | None (address optional) | Same requirements across all regions |
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.

P1 legalName field path is incorrect for business beneficiaries

The table lists legalName as a required field directly on the beneficiary object, but the actual API structure (shown in the "Business beneficiaries" code example above at line ~580) nests it under businessInfo.legalName. A developer relying on this table would likely send:

"beneficiary": {
  "beneficiaryType": "BUSINESS",
  "legalName": "Acme Corp"
}

…instead of the correct structure:

"beneficiary": {
  "beneficiaryType": "BUSINESS",
  "businessInfo": {
    "legalName": "Acme Corp"
  }
}

This will likely result in an API error or silent field-drop for developers using this table as a reference.

Suggested change
| All countries | `beneficiaryType`, `legalName` | None (address optional) | Same requirements across all regions |
| All countries | `beneficiaryType`, `businessInfo.legalName` | None (address optional) | Same requirements across all regions |
Prompt To Fix With AI
This is a comment left during a code review.
Path: mintlify/snippets/external-accounts.mdx
Line: 616

Comment:
**`legalName` field path is incorrect for business beneficiaries**

The table lists `legalName` as a required field directly on the beneficiary object, but the actual API structure (shown in the "Business beneficiaries" code example above at line ~580) nests it under `businessInfo.legalName`. A developer relying on this table would likely send:

```json
"beneficiary": {
  "beneficiaryType": "BUSINESS",
  "legalName": "Acme Corp"
}
```

…instead of the correct structure:

```json
"beneficiary": {
  "beneficiaryType": "BUSINESS",
  "businessInfo": {
    "legalName": "Acme Corp"
  }
}
```

This will likely result in an API error or silent field-drop for developers using this table as a reference.

```suggestion
| All countries | `beneficiaryType`, `businessInfo.legalName` | None (address optional) | Same requirements across all regions |
```

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

Comment on lines +603 to +610
| Country | Required Fields | Required Address Fields | Notes |
| --- | --- | --- | --- |
| US (USD) | `beneficiaryType`, `fullName` | None (address optional) | |
| Mexico (MXN) | `beneficiaryType`, `fullName` | None (address optional) | |
| Brazil (BRL) | `beneficiaryType`, `fullName` | None (address optional) | `taxId` required at account level |
| Philippines (PHP) | `beneficiaryType`, `fullName` | None (address optional) | |
| United Kingdom (GBP) | `beneficiaryType`, `fullName`, `address` | `line1`, `postalCode`, `country` | Address is required |
| Europe (EUR) | `beneficiaryType`, `fullName`, `address` | `line1`, `postalCode`, `country` | Address is required |
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.

P2 Minimum required fields table is missing many supported countries

The new table covers US, Mexico, Brazil, Philippines, and United Kingdom/Europe, but the tabs section documents many additional countries — India (INR), Nigeria (NGN), South Africa (ZAR), Kenya (KES), Tanzania (TZS), Zambia (ZMW), Rwanda (RWF), and Canada (CAD) — none of which appear here. Developers targeting those markets will search this table and find nothing, undercutting the table's value as a comprehensive reference.

Consider adding rows for the remaining countries, or adding a clarifying note (e.g. "Countries not listed above follow the same rules as US (USD)") so readers know what applies to omitted regions.

Prompt To Fix With AI
This is a comment left during a code review.
Path: mintlify/snippets/external-accounts.mdx
Line: 603-610

Comment:
**Minimum required fields table is missing many supported countries**

The new table covers US, Mexico, Brazil, Philippines, and United Kingdom/Europe, but the tabs section documents many additional countries — India (INR), Nigeria (NGN), South Africa (ZAR), Kenya (KES), Tanzania (TZS), Zambia (ZMW), Rwanda (RWF), and Canada (CAD) — none of which appear here. Developers targeting those markets will search this table and find nothing, undercutting the table's value as a comprehensive reference.

Consider adding rows for the remaining countries, or adding a clarifying note (e.g. "Countries not listed above follow the same rules as US (USD)") so readers know what applies to omitted regions.

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

| --- | --- | --- | --- |
| US (USD) | `beneficiaryType`, `fullName` | None (address optional) | |
| Mexico (MXN) | `beneficiaryType`, `fullName` | None (address optional) | |
| Brazil (BRL) | `beneficiaryType`, `fullName` | None (address optional) | `taxId` required at account level |
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.

P2 Brazil taxId note conflicts with the PIX code example

The table notes "taxId required at account level" for Brazil, but the existing PIX code example (around line 88) does not include a taxId field anywhere in the accountInfo payload. A developer reading this table note will look at the code example for guidance on where to place taxId and find nothing there.

Either update the PIX code example to include the taxId field in accountInfo, or clarify in the note precisely what the field name and location are (e.g. accountInfo.taxId).

Prompt To Fix With AI
This is a comment left during a code review.
Path: mintlify/snippets/external-accounts.mdx
Line: 607

Comment:
**Brazil `taxId` note conflicts with the PIX code example**

The table notes "`taxId` required at account level" for Brazil, but the existing PIX code example (around line 88) does not include a `taxId` field anywhere in the `accountInfo` payload. A developer reading this table note will look at the code example for guidance on where to place `taxId` and find nothing there.

Either update the PIX code example to include the `taxId` field in `accountInfo`, or clarify in the note precisely what the field name and location are (e.g. `accountInfo.taxId`).

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

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