Skip to content

chore: Sync account schemas - #387

Closed
lightspark-copybara[bot] wants to merge 1 commit into
mainfrom
auto/sync-grid-schemas-20260423-215747
Closed

chore: Sync account schemas#387
lightspark-copybara[bot] wants to merge 1 commit into
mainfrom
auto/sync-grid-schemas-20260423-215747

Conversation

@lightspark-copybara

Copy link
Copy Markdown
Contributor

Auto-synced account schemas.

These schemas are generated from VASP adapter field definitions in sparkcore.

Synced schemas:

  • common/ — per-currency account info, beneficiary, and payment account schemas
  • common/PaymentInstructions.yaml — payment instructions oneOf (new currencies added)
  • external_accounts/ — per-currency external account schemas (reference common/)

Please review the changes before merging.

@vercel

vercelBot commented Apr 23, 2026

Copy link
Copy Markdown

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

ProjectDeploymentActionsUpdated (UTC)
grid-flow-builderReadyReadyPreview, CommentApr 23, 2026 9:58pm

Request Review

@github-actions

github-actionsBot commented Apr 23, 2026

Copy link
Copy Markdown
Contributor

✱ Stainless preview builds

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

kotlin

feat(api): add bankName across currencies, update phoneNumber/bankAccountType, revise payment rails

openapi

fix(types): update field requirements across USD/GTQ/COP/BDT/EGP/GHS/JMD/PKR account types

python

feat(api): add bank_name to BDT/EGP/GHS/JMD/PKR, remove phone_number from COP/GTQ, update USD types

typescript

feat(types): add bankName to BDT/EGP/GHS/JMD/PKR, update USD/COP/GTQ account types

Edit this comment to update them. They will appear in their respective SDK's changelogs.

grid-openapistudio · code · diff

Your SDK build had at least one new note diagnostic, which is a regression from the base state.
generate ❗

New diagnostics (2 note)
💡 Schema/EnumHasOneMember: Confirm intentional use of `enum` with single member.
💡 Schema/EnumHasOneMember: Confirm intentional use of `enum` with single member.
grid-kotlinstudio · code · diff

Your SDK build had at least one new note diagnostic, which is a regression from the base state.
generate ❗build ✅lint ✅test ✅

New diagnostics (2 note)
💡 Schema/EnumHasOneMember: Confirm intentional use of `enum` with single member.
💡 Schema/EnumHasOneMember: Confirm intentional use of `enum` with single member.
grid-typescriptstudio · code · diff

Your SDK build had at least one "error" diagnostic, but this did not represent a regression.
generate ❗build ✅lint ✅test ✅

npm install https://pkg.stainless.com/s/grid-typescript/3e1de4fb7391ff5e3fded1eb4502d9f7efa8d017/dist.tar.gz
grid-pythonstudio · code · diff

Your SDK build had at least one "error" diagnostic, but this did not represent a regression.
generate ❗build ✅lint ✅test ✅

pip install https://pkg.stainless.com/s/grid-python/8c22b48d5b769dfa251db413dff0735df748bcf6/grid-0.0.1-py3-none-any.whl

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-04-23 22:03:25 UTC

@greptile-apps

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR auto-syncs account schemas generated from VASP adapter field definitions in sparkcore. The changes include adding example blocks to all currency schemas, making bankName required in several schemas (BDT, COP, EGP, GHS, GTQ, HKD, JMD, PKR), and several breaking field changes: UsdAccountInfoBase replaces bankAccountType with a required phoneNumber, USD gains MOBILE_MONEY and drops BANK_TRANSFER as a payment rail, COP/GTQ drop MOBILE_MONEY, CopBeneficiary now requires documentNumber+documentType instead of countryOfResidence, and GtqBeneficiary gains a required phoneNumber.

Confidence Score: 5/5

Safe to merge — all findings are P2 documentation style issues that do not affect runtime validation or schema correctness.

All schema changes are intentional syncs from sparkcore. The only finding is that DKK, EGP, and PKR example IBANs use a German prefix rather than the country-appropriate prefix, which is a cosmetic documentation concern with no impact on validation logic.

openapi/components/schemas/common/DkkAccountInfoBase.yaml, EgpAccountInfoBase.yaml, PkrAccountInfoBase.yaml — example IBAN values use the wrong country prefix.

Important Files Changed

FilenameOverview
openapi/components/schemas/common/UsdAccountInfoBase.yamlBreaking change: bankAccountType (CHECKING/SAVINGS) replaced with phoneNumber (now required), example block added
openapi/components/schemas/common/UsdAccountInfo.yamlBANK_TRANSFER payment rail replaced with MOBILE_MONEY for USD accounts
openapi/components/schemas/common/CopAccountInfoBase.yamlphoneNumber field removed entirely; bankName made required with length constraints; example added
openapi/components/schemas/common/CopBeneficiary.yamlRequired fields changed: countryOfResidence removed from required, documentNumber and documentType added as required
openapi/components/schemas/common/GtqAccountInfoBase.yamlphoneNumber field replaced by bankAccountType (CHECKING/SAVINGS enum); bankName made required; example added
openapi/components/schemas/common/GtqBeneficiary.yamlphoneNumber added as a required field
openapi/components/schemas/common/DkkAccountInfoBase.yamlAdds example block — IBAN example value DE89370400440532013000 is a German IBAN, not a Danish one
openapi/components/schemas/common/EgpAccountInfoBase.yamlAdds bankName as required field and example block — IBAN example value DE89370400440532013000 is a German IBAN, not an Egyptian one
openapi/components/schemas/common/PkrAccountInfoBase.yamlAdds bankName as required field and example block — IBAN example value DE89370400440532013000 is a German IBAN, not a Pakistani one
openapi.yamlBundled OpenAPI spec updated in sync with all component YAML changes
mintlify/openapi.yamlMintlify bundled spec updated in sync with all component YAML changes

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[API Consumer] --> B{Currency}
B -->|USD| C[UsdAccountInfoBase\nrequires: accountNumber, routingNumber, phoneNumber\nrails: ACH, WIRE, RTP, FEDNOW, MOBILE_MONEY]
B -->|COP| D[CopAccountInfoBase\nrequires: bankName, accountNumber, bankAccountType\nrails: BANK_TRANSFER]
B -->|GTQ| E[GtqAccountInfoBase\nrequires: bankName, accountNumber, bankAccountType\nrails: BANK_TRANSFER]
B -->|EGP/GHS/PKR/BDT/JMD| F[*AccountInfoBase\nrequires: bankName added]
B -->|Other currencies| G[*AccountInfoBase\nexample blocks added]
D --> D1[CopBeneficiary\nrequires: documentNumber + documentType\nnot required: countryOfResidence]
E --> E1[GtqBeneficiary\nrequires: phoneNumber added]
Loading

Fix All in Claude Code

Prompt To Fix All With AI
This is a comment left during a code review.
Path: openapi/components/schemas/common/DkkAccountInfoBase.yaml
Line: 22-25
Comment:
**Incorrect country prefix in IBAN examples**
Three schemas use `DE89370400440532013000` — a German IBAN — as their example value: `DkkAccountInfoBase` (Danish Krone), `EgpAccountInfoBase` (Egyptian Pound), and `PkrAccountInfoBase` (Pakistani Rupee). An IBAN example should carry the ISO country prefix that matches the currency's home country (`DK…` for Denmark, `EG…` for Egypt, `PK…` for Pakistan), otherwise it may mislead API consumers about what format to submit.
```suggestionexample: accountType: DKK_ACCOUNT iban: DK5000400440116243 swiftCode: DEUTDEFF```
How can I resolve this? If you propose a fix, please make it concise.

Reviews (1): Last reviewed commit: "chore: Sync account schemas" | Re-trigger Greptile

Comment on lines 22 to +25
maxLength: 11
pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
example:
accountType: DKK_ACCOUNT

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.

P2Incorrect country prefix in IBAN examples

Three schemas use DE89370400440532013000 — a German IBAN — as their example value: DkkAccountInfoBase (Danish Krone), EgpAccountInfoBase (Egyptian Pound), and PkrAccountInfoBase (Pakistani Rupee). An IBAN example should carry the ISO country prefix that matches the currency's home country (DK… for Denmark, EG… for Egypt, PK… for Pakistan), otherwise it may mislead API consumers about what format to submit.

Suggested change
maxLength: 11
pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
example:
accountType: DKK_ACCOUNT
example:
accountType: DKK_ACCOUNT
iban: DK5000400440116243
swiftCode: DEUTDEFF
Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/common/DkkAccountInfoBase.yaml
Line: 22-25
Comment:
**Incorrect country prefix in IBAN examples**
Three schemas use `DE89370400440532013000` — a German IBAN — as their example value: `DkkAccountInfoBase` (Danish Krone), `EgpAccountInfoBase` (Egyptian Pound), and `PkrAccountInfoBase` (Pakistani Rupee). An IBAN example should carry the ISO country prefix that matches the currency's home country (`DK…` for Denmark, `EG…` for Egypt, `PK…` for Pakistan), otherwise it may mislead API consumers about what format to submit.
```suggestionexample: accountType: DKK_ACCOUNT iban: DK5000400440116243 swiftCode: DEUTDEFF```
How can I resolve this? If you propose a fix, please make it concise.

Fix in Claude Code

@lightspark-copybara

Copy link
Copy Markdown
ContributorAuthor

Superseded by #388

@lightspark-copybara
lightspark-copybaraBot deleted the auto/sync-grid-schemas-20260423-215747 branch April 23, 2026 22:09
Sign up for freeto 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.

0 participants

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
chore: Sync account schemas by lightspark-copybara[bot] · Pull Request #387 · lightsparkdev/grid-api · GitHub
Skip to content

chore: Sync account schemas - #387

Closed
lightspark-copybara[bot] wants to merge 1 commit into
mainfrom
auto/sync-grid-schemas-20260423-215747
Closed

chore: Sync account schemas#387
lightspark-copybara[bot] wants to merge 1 commit into
mainfrom
auto/sync-grid-schemas-20260423-215747

Conversation

@lightspark-copybara

Copy link
Copy Markdown
Contributor

Auto-synced account schemas.

These schemas are generated from VASP adapter field definitions in sparkcore.

Synced schemas:

  • common/ — per-currency account info, beneficiary, and payment account schemas
  • common/PaymentInstructions.yaml — payment instructions oneOf (new currencies added)
  • external_accounts/ — per-currency external account schemas (reference common/)

Please review the changes before merging.

@vercel

vercelBot commented Apr 23, 2026

Copy link
Copy Markdown

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

ProjectDeploymentActionsUpdated (UTC)
grid-flow-builderReadyReadyPreview, CommentApr 23, 2026 9:58pm

Request Review

@github-actions

github-actionsBot commented Apr 23, 2026

Copy link
Copy Markdown
Contributor

✱ Stainless preview builds

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

kotlin

feat(api): add bankName across currencies, update phoneNumber/bankAccountType, revise payment rails

openapi

fix(types): update field requirements across USD/GTQ/COP/BDT/EGP/GHS/JMD/PKR account types

python

feat(api): add bank_name to BDT/EGP/GHS/JMD/PKR, remove phone_number from COP/GTQ, update USD types

typescript

feat(types): add bankName to BDT/EGP/GHS/JMD/PKR, update USD/COP/GTQ account types

Edit this comment to update them. They will appear in their respective SDK's changelogs.

grid-openapistudio · code · diff

Your SDK build had at least one new note diagnostic, which is a regression from the base state.
generate ❗

New diagnostics (2 note)
💡 Schema/EnumHasOneMember: Confirm intentional use of `enum` with single member.
💡 Schema/EnumHasOneMember: Confirm intentional use of `enum` with single member.
grid-kotlinstudio · code · diff

Your SDK build had at least one new note diagnostic, which is a regression from the base state.
generate ❗build ✅lint ✅test ✅

New diagnostics (2 note)
💡 Schema/EnumHasOneMember: Confirm intentional use of `enum` with single member.
💡 Schema/EnumHasOneMember: Confirm intentional use of `enum` with single member.
grid-typescriptstudio · code · diff

Your SDK build had at least one "error" diagnostic, but this did not represent a regression.
generate ❗build ✅lint ✅test ✅

npm install https://pkg.stainless.com/s/grid-typescript/3e1de4fb7391ff5e3fded1eb4502d9f7efa8d017/dist.tar.gz
grid-pythonstudio · code · diff

Your SDK build had at least one "error" diagnostic, but this did not represent a regression.
generate ❗build ✅lint ✅test ✅

pip install https://pkg.stainless.com/s/grid-python/8c22b48d5b769dfa251db413dff0735df748bcf6/grid-0.0.1-py3-none-any.whl

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-04-23 22:03:25 UTC

@greptile-apps

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR auto-syncs account schemas generated from VASP adapter field definitions in sparkcore. The changes include adding example blocks to all currency schemas, making bankName required in several schemas (BDT, COP, EGP, GHS, GTQ, HKD, JMD, PKR), and several breaking field changes: UsdAccountInfoBase replaces bankAccountType with a required phoneNumber, USD gains MOBILE_MONEY and drops BANK_TRANSFER as a payment rail, COP/GTQ drop MOBILE_MONEY, CopBeneficiary now requires documentNumber+documentType instead of countryOfResidence, and GtqBeneficiary gains a required phoneNumber.

Confidence Score: 5/5

Safe to merge — all findings are P2 documentation style issues that do not affect runtime validation or schema correctness.

All schema changes are intentional syncs from sparkcore. The only finding is that DKK, EGP, and PKR example IBANs use a German prefix rather than the country-appropriate prefix, which is a cosmetic documentation concern with no impact on validation logic.

openapi/components/schemas/common/DkkAccountInfoBase.yaml, EgpAccountInfoBase.yaml, PkrAccountInfoBase.yaml — example IBAN values use the wrong country prefix.

Important Files Changed

FilenameOverview
openapi/components/schemas/common/UsdAccountInfoBase.yamlBreaking change: bankAccountType (CHECKING/SAVINGS) replaced with phoneNumber (now required), example block added
openapi/components/schemas/common/UsdAccountInfo.yamlBANK_TRANSFER payment rail replaced with MOBILE_MONEY for USD accounts
openapi/components/schemas/common/CopAccountInfoBase.yamlphoneNumber field removed entirely; bankName made required with length constraints; example added
openapi/components/schemas/common/CopBeneficiary.yamlRequired fields changed: countryOfResidence removed from required, documentNumber and documentType added as required
openapi/components/schemas/common/GtqAccountInfoBase.yamlphoneNumber field replaced by bankAccountType (CHECKING/SAVINGS enum); bankName made required; example added
openapi/components/schemas/common/GtqBeneficiary.yamlphoneNumber added as a required field
openapi/components/schemas/common/DkkAccountInfoBase.yamlAdds example block — IBAN example value DE89370400440532013000 is a German IBAN, not a Danish one
openapi/components/schemas/common/EgpAccountInfoBase.yamlAdds bankName as required field and example block — IBAN example value DE89370400440532013000 is a German IBAN, not an Egyptian one
openapi/components/schemas/common/PkrAccountInfoBase.yamlAdds bankName as required field and example block — IBAN example value DE89370400440532013000 is a German IBAN, not a Pakistani one
openapi.yamlBundled OpenAPI spec updated in sync with all component YAML changes
mintlify/openapi.yamlMintlify bundled spec updated in sync with all component YAML changes

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[API Consumer] --> B{Currency}
B -->|USD| C[UsdAccountInfoBase\nrequires: accountNumber, routingNumber, phoneNumber\nrails: ACH, WIRE, RTP, FEDNOW, MOBILE_MONEY]
B -->|COP| D[CopAccountInfoBase\nrequires: bankName, accountNumber, bankAccountType\nrails: BANK_TRANSFER]
B -->|GTQ| E[GtqAccountInfoBase\nrequires: bankName, accountNumber, bankAccountType\nrails: BANK_TRANSFER]
B -->|EGP/GHS/PKR/BDT/JMD| F[*AccountInfoBase\nrequires: bankName added]
B -->|Other currencies| G[*AccountInfoBase\nexample blocks added]
D --> D1[CopBeneficiary\nrequires: documentNumber + documentType\nnot required: countryOfResidence]
E --> E1[GtqBeneficiary\nrequires: phoneNumber added]
Loading

Fix All in Claude Code

Prompt To Fix All With AI
This is a comment left during a code review.
Path: openapi/components/schemas/common/DkkAccountInfoBase.yaml
Line: 22-25
Comment:
**Incorrect country prefix in IBAN examples**
Three schemas use `DE89370400440532013000` — a German IBAN — as their example value: `DkkAccountInfoBase` (Danish Krone), `EgpAccountInfoBase` (Egyptian Pound), and `PkrAccountInfoBase` (Pakistani Rupee). An IBAN example should carry the ISO country prefix that matches the currency's home country (`DK…` for Denmark, `EG…` for Egypt, `PK…` for Pakistan), otherwise it may mislead API consumers about what format to submit.
```suggestionexample: accountType: DKK_ACCOUNT iban: DK5000400440116243 swiftCode: DEUTDEFF```
How can I resolve this? If you propose a fix, please make it concise.

Reviews (1): Last reviewed commit: "chore: Sync account schemas" | Re-trigger Greptile

Comment on lines 22 to +25
maxLength: 11
pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
example:
accountType: DKK_ACCOUNT

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.

P2Incorrect country prefix in IBAN examples

Three schemas use DE89370400440532013000 — a German IBAN — as their example value: DkkAccountInfoBase (Danish Krone), EgpAccountInfoBase (Egyptian Pound), and PkrAccountInfoBase (Pakistani Rupee). An IBAN example should carry the ISO country prefix that matches the currency's home country (DK… for Denmark, EG… for Egypt, PK… for Pakistan), otherwise it may mislead API consumers about what format to submit.

Suggested change
maxLength: 11
pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
example:
accountType: DKK_ACCOUNT
example:
accountType: DKK_ACCOUNT
iban: DK5000400440116243
swiftCode: DEUTDEFF
Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/common/DkkAccountInfoBase.yaml
Line: 22-25
Comment:
**Incorrect country prefix in IBAN examples**
Three schemas use `DE89370400440532013000` — a German IBAN — as their example value: `DkkAccountInfoBase` (Danish Krone), `EgpAccountInfoBase` (Egyptian Pound), and `PkrAccountInfoBase` (Pakistani Rupee). An IBAN example should carry the ISO country prefix that matches the currency's home country (`DK…` for Denmark, `EG…` for Egypt, `PK…` for Pakistan), otherwise it may mislead API consumers about what format to submit.
```suggestionexample: accountType: DKK_ACCOUNT iban: DK5000400440116243 swiftCode: DEUTDEFF```
How can I resolve this? If you propose a fix, please make it concise.

Fix in Claude Code

@lightspark-copybara

Copy link
Copy Markdown
ContributorAuthor

Superseded by #388

@lightspark-copybara
lightspark-copybaraBot deleted the auto/sync-grid-schemas-20260423-215747 branch April 23, 2026 22:09
Sign up for freeto 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.

0 participants

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' chore: Sync account schemas by lightspark-copybara[bot] · Pull Request #387 · lightsparkdev/grid-api · GitHub
Skip to content

chore: Sync account schemas - #387

Closed
lightspark-copybara[bot] wants to merge 1 commit into
mainfrom
auto/sync-grid-schemas-20260423-215747
Closed

chore: Sync account schemas#387
lightspark-copybara[bot] wants to merge 1 commit into
mainfrom
auto/sync-grid-schemas-20260423-215747

Conversation

@lightspark-copybara

Copy link
Copy Markdown
Contributor

Auto-synced account schemas.

These schemas are generated from VASP adapter field definitions in sparkcore.

Synced schemas:

  • common/ — per-currency account info, beneficiary, and payment account schemas
  • common/PaymentInstructions.yaml — payment instructions oneOf (new currencies added)
  • external_accounts/ — per-currency external account schemas (reference common/)

Please review the changes before merging.

@vercel

vercelBot commented Apr 23, 2026

Copy link
Copy Markdown

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

ProjectDeploymentActionsUpdated (UTC)
grid-flow-builderReadyReadyPreview, CommentApr 23, 2026 9:58pm

Request Review

@github-actions

github-actionsBot commented Apr 23, 2026

Copy link
Copy Markdown
Contributor

✱ Stainless preview builds

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

kotlin

feat(api): add bankName across currencies, update phoneNumber/bankAccountType, revise payment rails

openapi

fix(types): update field requirements across USD/GTQ/COP/BDT/EGP/GHS/JMD/PKR account types

python

feat(api): add bank_name to BDT/EGP/GHS/JMD/PKR, remove phone_number from COP/GTQ, update USD types

typescript

feat(types): add bankName to BDT/EGP/GHS/JMD/PKR, update USD/COP/GTQ account types

Edit this comment to update them. They will appear in their respective SDK's changelogs.

grid-openapistudio · code · diff

Your SDK build had at least one new note diagnostic, which is a regression from the base state.
generate ❗

New diagnostics (2 note)
💡 Schema/EnumHasOneMember: Confirm intentional use of `enum` with single member.
💡 Schema/EnumHasOneMember: Confirm intentional use of `enum` with single member.
grid-kotlinstudio · code · diff

Your SDK build had at least one new note diagnostic, which is a regression from the base state.
generate ❗build ✅lint ✅test ✅

New diagnostics (2 note)
💡 Schema/EnumHasOneMember: Confirm intentional use of `enum` with single member.
💡 Schema/EnumHasOneMember: Confirm intentional use of `enum` with single member.
grid-typescriptstudio · code · diff

Your SDK build had at least one "error" diagnostic, but this did not represent a regression.
generate ❗build ✅lint ✅test ✅

npm install https://pkg.stainless.com/s/grid-typescript/3e1de4fb7391ff5e3fded1eb4502d9f7efa8d017/dist.tar.gz
grid-pythonstudio · code · diff

Your SDK build had at least one "error" diagnostic, but this did not represent a regression.
generate ❗build ✅lint ✅test ✅

pip install https://pkg.stainless.com/s/grid-python/8c22b48d5b769dfa251db413dff0735df748bcf6/grid-0.0.1-py3-none-any.whl

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-04-23 22:03:25 UTC

@greptile-apps

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR auto-syncs account schemas generated from VASP adapter field definitions in sparkcore. The changes include adding example blocks to all currency schemas, making bankName required in several schemas (BDT, COP, EGP, GHS, GTQ, HKD, JMD, PKR), and several breaking field changes: UsdAccountInfoBase replaces bankAccountType with a required phoneNumber, USD gains MOBILE_MONEY and drops BANK_TRANSFER as a payment rail, COP/GTQ drop MOBILE_MONEY, CopBeneficiary now requires documentNumber+documentType instead of countryOfResidence, and GtqBeneficiary gains a required phoneNumber.

Confidence Score: 5/5

Safe to merge — all findings are P2 documentation style issues that do not affect runtime validation or schema correctness.

All schema changes are intentional syncs from sparkcore. The only finding is that DKK, EGP, and PKR example IBANs use a German prefix rather than the country-appropriate prefix, which is a cosmetic documentation concern with no impact on validation logic.

openapi/components/schemas/common/DkkAccountInfoBase.yaml, EgpAccountInfoBase.yaml, PkrAccountInfoBase.yaml — example IBAN values use the wrong country prefix.

Important Files Changed

FilenameOverview
openapi/components/schemas/common/UsdAccountInfoBase.yamlBreaking change: bankAccountType (CHECKING/SAVINGS) replaced with phoneNumber (now required), example block added
openapi/components/schemas/common/UsdAccountInfo.yamlBANK_TRANSFER payment rail replaced with MOBILE_MONEY for USD accounts
openapi/components/schemas/common/CopAccountInfoBase.yamlphoneNumber field removed entirely; bankName made required with length constraints; example added
openapi/components/schemas/common/CopBeneficiary.yamlRequired fields changed: countryOfResidence removed from required, documentNumber and documentType added as required
openapi/components/schemas/common/GtqAccountInfoBase.yamlphoneNumber field replaced by bankAccountType (CHECKING/SAVINGS enum); bankName made required; example added
openapi/components/schemas/common/GtqBeneficiary.yamlphoneNumber added as a required field
openapi/components/schemas/common/DkkAccountInfoBase.yamlAdds example block — IBAN example value DE89370400440532013000 is a German IBAN, not a Danish one
openapi/components/schemas/common/EgpAccountInfoBase.yamlAdds bankName as required field and example block — IBAN example value DE89370400440532013000 is a German IBAN, not an Egyptian one
openapi/components/schemas/common/PkrAccountInfoBase.yamlAdds bankName as required field and example block — IBAN example value DE89370400440532013000 is a German IBAN, not a Pakistani one
openapi.yamlBundled OpenAPI spec updated in sync with all component YAML changes
mintlify/openapi.yamlMintlify bundled spec updated in sync with all component YAML changes

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[API Consumer] --> B{Currency}
B -->|USD| C[UsdAccountInfoBase\nrequires: accountNumber, routingNumber, phoneNumber\nrails: ACH, WIRE, RTP, FEDNOW, MOBILE_MONEY]
B -->|COP| D[CopAccountInfoBase\nrequires: bankName, accountNumber, bankAccountType\nrails: BANK_TRANSFER]
B -->|GTQ| E[GtqAccountInfoBase\nrequires: bankName, accountNumber, bankAccountType\nrails: BANK_TRANSFER]
B -->|EGP/GHS/PKR/BDT/JMD| F[*AccountInfoBase\nrequires: bankName added]
B -->|Other currencies| G[*AccountInfoBase\nexample blocks added]
D --> D1[CopBeneficiary\nrequires: documentNumber + documentType\nnot required: countryOfResidence]
E --> E1[GtqBeneficiary\nrequires: phoneNumber added]
Loading

Fix All in Claude Code

Prompt To Fix All With AI
This is a comment left during a code review.
Path: openapi/components/schemas/common/DkkAccountInfoBase.yaml
Line: 22-25
Comment:
**Incorrect country prefix in IBAN examples**
Three schemas use `DE89370400440532013000` — a German IBAN — as their example value: `DkkAccountInfoBase` (Danish Krone), `EgpAccountInfoBase` (Egyptian Pound), and `PkrAccountInfoBase` (Pakistani Rupee). An IBAN example should carry the ISO country prefix that matches the currency's home country (`DK…` for Denmark, `EG…` for Egypt, `PK…` for Pakistan), otherwise it may mislead API consumers about what format to submit.
```suggestionexample: accountType: DKK_ACCOUNT iban: DK5000400440116243 swiftCode: DEUTDEFF```
How can I resolve this? If you propose a fix, please make it concise.

Reviews (1): Last reviewed commit: "chore: Sync account schemas" | Re-trigger Greptile

Comment on lines 22 to +25
maxLength: 11
pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
example:
accountType: DKK_ACCOUNT

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.

P2Incorrect country prefix in IBAN examples

Three schemas use DE89370400440532013000 — a German IBAN — as their example value: DkkAccountInfoBase (Danish Krone), EgpAccountInfoBase (Egyptian Pound), and PkrAccountInfoBase (Pakistani Rupee). An IBAN example should carry the ISO country prefix that matches the currency's home country (DK… for Denmark, EG… for Egypt, PK… for Pakistan), otherwise it may mislead API consumers about what format to submit.

Suggested change
maxLength: 11
pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
example:
accountType: DKK_ACCOUNT
example:
accountType: DKK_ACCOUNT
iban: DK5000400440116243
swiftCode: DEUTDEFF
Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/common/DkkAccountInfoBase.yaml
Line: 22-25
Comment:
**Incorrect country prefix in IBAN examples**
Three schemas use `DE89370400440532013000` — a German IBAN — as their example value: `DkkAccountInfoBase` (Danish Krone), `EgpAccountInfoBase` (Egyptian Pound), and `PkrAccountInfoBase` (Pakistani Rupee). An IBAN example should carry the ISO country prefix that matches the currency's home country (`DK…` for Denmark, `EG…` for Egypt, `PK…` for Pakistan), otherwise it may mislead API consumers about what format to submit.
```suggestionexample: accountType: DKK_ACCOUNT iban: DK5000400440116243 swiftCode: DEUTDEFF```
How can I resolve this? If you propose a fix, please make it concise.

Fix in Claude Code

@lightspark-copybara

Copy link
Copy Markdown
ContributorAuthor

Superseded by #388

@lightspark-copybara
lightspark-copybaraBot deleted the auto/sync-grid-schemas-20260423-215747 branch April 23, 2026 22:09
Sign up for freeto 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.

0 participants

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' chore: Sync account schemas by lightspark-copybara[bot] · Pull Request #387 · lightsparkdev/grid-api · GitHub
Skip to content

chore: Sync account schemas - #387

Closed
lightspark-copybara[bot] wants to merge 1 commit into
mainfrom
auto/sync-grid-schemas-20260423-215747
Closed

chore: Sync account schemas#387
lightspark-copybara[bot] wants to merge 1 commit into
mainfrom
auto/sync-grid-schemas-20260423-215747

Conversation

@lightspark-copybara

Copy link
Copy Markdown
Contributor

Auto-synced account schemas.

These schemas are generated from VASP adapter field definitions in sparkcore.

Synced schemas:

  • common/ — per-currency account info, beneficiary, and payment account schemas
  • common/PaymentInstructions.yaml — payment instructions oneOf (new currencies added)
  • external_accounts/ — per-currency external account schemas (reference common/)

Please review the changes before merging.

@vercel

vercelBot commented Apr 23, 2026

Copy link
Copy Markdown

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

ProjectDeploymentActionsUpdated (UTC)
grid-flow-builderReadyReadyPreview, CommentApr 23, 2026 9:58pm

Request Review

@github-actions

github-actionsBot commented Apr 23, 2026

Copy link
Copy Markdown
Contributor

✱ Stainless preview builds

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

kotlin

feat(api): add bankName across currencies, update phoneNumber/bankAccountType, revise payment rails

openapi

fix(types): update field requirements across USD/GTQ/COP/BDT/EGP/GHS/JMD/PKR account types

python

feat(api): add bank_name to BDT/EGP/GHS/JMD/PKR, remove phone_number from COP/GTQ, update USD types

typescript

feat(types): add bankName to BDT/EGP/GHS/JMD/PKR, update USD/COP/GTQ account types

Edit this comment to update them. They will appear in their respective SDK's changelogs.

grid-openapistudio · code · diff

Your SDK build had at least one new note diagnostic, which is a regression from the base state.
generate ❗

New diagnostics (2 note)
💡 Schema/EnumHasOneMember: Confirm intentional use of `enum` with single member.
💡 Schema/EnumHasOneMember: Confirm intentional use of `enum` with single member.
grid-kotlinstudio · code · diff

Your SDK build had at least one new note diagnostic, which is a regression from the base state.
generate ❗build ✅lint ✅test ✅

New diagnostics (2 note)
💡 Schema/EnumHasOneMember: Confirm intentional use of `enum` with single member.
💡 Schema/EnumHasOneMember: Confirm intentional use of `enum` with single member.
grid-typescriptstudio · code · diff

Your SDK build had at least one "error" diagnostic, but this did not represent a regression.
generate ❗build ✅lint ✅test ✅

npm install https://pkg.stainless.com/s/grid-typescript/3e1de4fb7391ff5e3fded1eb4502d9f7efa8d017/dist.tar.gz
grid-pythonstudio · code · diff

Your SDK build had at least one "error" diagnostic, but this did not represent a regression.
generate ❗build ✅lint ✅test ✅

pip install https://pkg.stainless.com/s/grid-python/8c22b48d5b769dfa251db413dff0735df748bcf6/grid-0.0.1-py3-none-any.whl

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-04-23 22:03:25 UTC

@greptile-apps

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR auto-syncs account schemas generated from VASP adapter field definitions in sparkcore. The changes include adding example blocks to all currency schemas, making bankName required in several schemas (BDT, COP, EGP, GHS, GTQ, HKD, JMD, PKR), and several breaking field changes: UsdAccountInfoBase replaces bankAccountType with a required phoneNumber, USD gains MOBILE_MONEY and drops BANK_TRANSFER as a payment rail, COP/GTQ drop MOBILE_MONEY, CopBeneficiary now requires documentNumber+documentType instead of countryOfResidence, and GtqBeneficiary gains a required phoneNumber.

Confidence Score: 5/5

Safe to merge — all findings are P2 documentation style issues that do not affect runtime validation or schema correctness.

All schema changes are intentional syncs from sparkcore. The only finding is that DKK, EGP, and PKR example IBANs use a German prefix rather than the country-appropriate prefix, which is a cosmetic documentation concern with no impact on validation logic.

openapi/components/schemas/common/DkkAccountInfoBase.yaml, EgpAccountInfoBase.yaml, PkrAccountInfoBase.yaml — example IBAN values use the wrong country prefix.

Important Files Changed

FilenameOverview
openapi/components/schemas/common/UsdAccountInfoBase.yamlBreaking change: bankAccountType (CHECKING/SAVINGS) replaced with phoneNumber (now required), example block added
openapi/components/schemas/common/UsdAccountInfo.yamlBANK_TRANSFER payment rail replaced with MOBILE_MONEY for USD accounts
openapi/components/schemas/common/CopAccountInfoBase.yamlphoneNumber field removed entirely; bankName made required with length constraints; example added
openapi/components/schemas/common/CopBeneficiary.yamlRequired fields changed: countryOfResidence removed from required, documentNumber and documentType added as required
openapi/components/schemas/common/GtqAccountInfoBase.yamlphoneNumber field replaced by bankAccountType (CHECKING/SAVINGS enum); bankName made required; example added
openapi/components/schemas/common/GtqBeneficiary.yamlphoneNumber added as a required field
openapi/components/schemas/common/DkkAccountInfoBase.yamlAdds example block — IBAN example value DE89370400440532013000 is a German IBAN, not a Danish one
openapi/components/schemas/common/EgpAccountInfoBase.yamlAdds bankName as required field and example block — IBAN example value DE89370400440532013000 is a German IBAN, not an Egyptian one
openapi/components/schemas/common/PkrAccountInfoBase.yamlAdds bankName as required field and example block — IBAN example value DE89370400440532013000 is a German IBAN, not a Pakistani one
openapi.yamlBundled OpenAPI spec updated in sync with all component YAML changes
mintlify/openapi.yamlMintlify bundled spec updated in sync with all component YAML changes

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[API Consumer] --> B{Currency}
B -->|USD| C[UsdAccountInfoBase\nrequires: accountNumber, routingNumber, phoneNumber\nrails: ACH, WIRE, RTP, FEDNOW, MOBILE_MONEY]
B -->|COP| D[CopAccountInfoBase\nrequires: bankName, accountNumber, bankAccountType\nrails: BANK_TRANSFER]
B -->|GTQ| E[GtqAccountInfoBase\nrequires: bankName, accountNumber, bankAccountType\nrails: BANK_TRANSFER]
B -->|EGP/GHS/PKR/BDT/JMD| F[*AccountInfoBase\nrequires: bankName added]
B -->|Other currencies| G[*AccountInfoBase\nexample blocks added]
D --> D1[CopBeneficiary\nrequires: documentNumber + documentType\nnot required: countryOfResidence]
E --> E1[GtqBeneficiary\nrequires: phoneNumber added]
Loading

Fix All in Claude Code

Prompt To Fix All With AI
This is a comment left during a code review.
Path: openapi/components/schemas/common/DkkAccountInfoBase.yaml
Line: 22-25
Comment:
**Incorrect country prefix in IBAN examples**
Three schemas use `DE89370400440532013000` — a German IBAN — as their example value: `DkkAccountInfoBase` (Danish Krone), `EgpAccountInfoBase` (Egyptian Pound), and `PkrAccountInfoBase` (Pakistani Rupee). An IBAN example should carry the ISO country prefix that matches the currency's home country (`DK…` for Denmark, `EG…` for Egypt, `PK…` for Pakistan), otherwise it may mislead API consumers about what format to submit.
```suggestionexample: accountType: DKK_ACCOUNT iban: DK5000400440116243 swiftCode: DEUTDEFF```
How can I resolve this? If you propose a fix, please make it concise.

Reviews (1): Last reviewed commit: "chore: Sync account schemas" | Re-trigger Greptile

Comment on lines 22 to +25
maxLength: 11
pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
example:
accountType: DKK_ACCOUNT

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.

P2Incorrect country prefix in IBAN examples

Three schemas use DE89370400440532013000 — a German IBAN — as their example value: DkkAccountInfoBase (Danish Krone), EgpAccountInfoBase (Egyptian Pound), and PkrAccountInfoBase (Pakistani Rupee). An IBAN example should carry the ISO country prefix that matches the currency's home country (DK… for Denmark, EG… for Egypt, PK… for Pakistan), otherwise it may mislead API consumers about what format to submit.

Suggested change
maxLength: 11
pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
example:
accountType: DKK_ACCOUNT
example:
accountType: DKK_ACCOUNT
iban: DK5000400440116243
swiftCode: DEUTDEFF
Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/common/DkkAccountInfoBase.yaml
Line: 22-25
Comment:
**Incorrect country prefix in IBAN examples**
Three schemas use `DE89370400440532013000` — a German IBAN — as their example value: `DkkAccountInfoBase` (Danish Krone), `EgpAccountInfoBase` (Egyptian Pound), and `PkrAccountInfoBase` (Pakistani Rupee). An IBAN example should carry the ISO country prefix that matches the currency's home country (`DK…` for Denmark, `EG…` for Egypt, `PK…` for Pakistan), otherwise it may mislead API consumers about what format to submit.
```suggestionexample: accountType: DKK_ACCOUNT iban: DK5000400440116243 swiftCode: DEUTDEFF```
How can I resolve this? If you propose a fix, please make it concise.

Fix in Claude Code

@lightspark-copybara

Copy link
Copy Markdown
ContributorAuthor

Superseded by #388

@lightspark-copybara
lightspark-copybaraBot deleted the auto/sync-grid-schemas-20260423-215747 branch April 23, 2026 22:09
Sign up for freeto 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.

0 participants

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' chore: Sync account schemas by lightspark-copybara[bot] · Pull Request #387 · lightsparkdev/grid-api · GitHub
Skip to content

chore: Sync account schemas - #387

Closed
lightspark-copybara[bot] wants to merge 1 commit into
mainfrom
auto/sync-grid-schemas-20260423-215747
Closed

chore: Sync account schemas#387
lightspark-copybara[bot] wants to merge 1 commit into
mainfrom
auto/sync-grid-schemas-20260423-215747

Conversation

@lightspark-copybara

Copy link
Copy Markdown
Contributor

Auto-synced account schemas.

These schemas are generated from VASP adapter field definitions in sparkcore.

Synced schemas:

  • common/ — per-currency account info, beneficiary, and payment account schemas
  • common/PaymentInstructions.yaml — payment instructions oneOf (new currencies added)
  • external_accounts/ — per-currency external account schemas (reference common/)

Please review the changes before merging.

@vercel

vercelBot commented Apr 23, 2026

Copy link
Copy Markdown

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

ProjectDeploymentActionsUpdated (UTC)
grid-flow-builderReadyReadyPreview, CommentApr 23, 2026 9:58pm

Request Review

@github-actions

github-actionsBot commented Apr 23, 2026

Copy link
Copy Markdown
Contributor

✱ Stainless preview builds

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

kotlin

feat(api): add bankName across currencies, update phoneNumber/bankAccountType, revise payment rails

openapi

fix(types): update field requirements across USD/GTQ/COP/BDT/EGP/GHS/JMD/PKR account types

python

feat(api): add bank_name to BDT/EGP/GHS/JMD/PKR, remove phone_number from COP/GTQ, update USD types

typescript

feat(types): add bankName to BDT/EGP/GHS/JMD/PKR, update USD/COP/GTQ account types

Edit this comment to update them. They will appear in their respective SDK's changelogs.

grid-openapistudio · code · diff

Your SDK build had at least one new note diagnostic, which is a regression from the base state.
generate ❗

New diagnostics (2 note)
💡 Schema/EnumHasOneMember: Confirm intentional use of `enum` with single member.
💡 Schema/EnumHasOneMember: Confirm intentional use of `enum` with single member.
grid-kotlinstudio · code · diff

Your SDK build had at least one new note diagnostic, which is a regression from the base state.
generate ❗build ✅lint ✅test ✅

New diagnostics (2 note)
💡 Schema/EnumHasOneMember: Confirm intentional use of `enum` with single member.
💡 Schema/EnumHasOneMember: Confirm intentional use of `enum` with single member.
grid-typescriptstudio · code · diff

Your SDK build had at least one "error" diagnostic, but this did not represent a regression.
generate ❗build ✅lint ✅test ✅

npm install https://pkg.stainless.com/s/grid-typescript/3e1de4fb7391ff5e3fded1eb4502d9f7efa8d017/dist.tar.gz
grid-pythonstudio · code · diff

Your SDK build had at least one "error" diagnostic, but this did not represent a regression.
generate ❗build ✅lint ✅test ✅

pip install https://pkg.stainless.com/s/grid-python/8c22b48d5b769dfa251db413dff0735df748bcf6/grid-0.0.1-py3-none-any.whl

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-04-23 22:03:25 UTC

@greptile-apps

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR auto-syncs account schemas generated from VASP adapter field definitions in sparkcore. The changes include adding example blocks to all currency schemas, making bankName required in several schemas (BDT, COP, EGP, GHS, GTQ, HKD, JMD, PKR), and several breaking field changes: UsdAccountInfoBase replaces bankAccountType with a required phoneNumber, USD gains MOBILE_MONEY and drops BANK_TRANSFER as a payment rail, COP/GTQ drop MOBILE_MONEY, CopBeneficiary now requires documentNumber+documentType instead of countryOfResidence, and GtqBeneficiary gains a required phoneNumber.

Confidence Score: 5/5

Safe to merge — all findings are P2 documentation style issues that do not affect runtime validation or schema correctness.

All schema changes are intentional syncs from sparkcore. The only finding is that DKK, EGP, and PKR example IBANs use a German prefix rather than the country-appropriate prefix, which is a cosmetic documentation concern with no impact on validation logic.

openapi/components/schemas/common/DkkAccountInfoBase.yaml, EgpAccountInfoBase.yaml, PkrAccountInfoBase.yaml — example IBAN values use the wrong country prefix.

Important Files Changed

FilenameOverview
openapi/components/schemas/common/UsdAccountInfoBase.yamlBreaking change: bankAccountType (CHECKING/SAVINGS) replaced with phoneNumber (now required), example block added
openapi/components/schemas/common/UsdAccountInfo.yamlBANK_TRANSFER payment rail replaced with MOBILE_MONEY for USD accounts
openapi/components/schemas/common/CopAccountInfoBase.yamlphoneNumber field removed entirely; bankName made required with length constraints; example added
openapi/components/schemas/common/CopBeneficiary.yamlRequired fields changed: countryOfResidence removed from required, documentNumber and documentType added as required
openapi/components/schemas/common/GtqAccountInfoBase.yamlphoneNumber field replaced by bankAccountType (CHECKING/SAVINGS enum); bankName made required; example added
openapi/components/schemas/common/GtqBeneficiary.yamlphoneNumber added as a required field
openapi/components/schemas/common/DkkAccountInfoBase.yamlAdds example block — IBAN example value DE89370400440532013000 is a German IBAN, not a Danish one
openapi/components/schemas/common/EgpAccountInfoBase.yamlAdds bankName as required field and example block — IBAN example value DE89370400440532013000 is a German IBAN, not an Egyptian one
openapi/components/schemas/common/PkrAccountInfoBase.yamlAdds bankName as required field and example block — IBAN example value DE89370400440532013000 is a German IBAN, not a Pakistani one
openapi.yamlBundled OpenAPI spec updated in sync with all component YAML changes
mintlify/openapi.yamlMintlify bundled spec updated in sync with all component YAML changes

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[API Consumer] --> B{Currency}
B -->|USD| C[UsdAccountInfoBase\nrequires: accountNumber, routingNumber, phoneNumber\nrails: ACH, WIRE, RTP, FEDNOW, MOBILE_MONEY]
B -->|COP| D[CopAccountInfoBase\nrequires: bankName, accountNumber, bankAccountType\nrails: BANK_TRANSFER]
B -->|GTQ| E[GtqAccountInfoBase\nrequires: bankName, accountNumber, bankAccountType\nrails: BANK_TRANSFER]
B -->|EGP/GHS/PKR/BDT/JMD| F[*AccountInfoBase\nrequires: bankName added]
B -->|Other currencies| G[*AccountInfoBase\nexample blocks added]
D --> D1[CopBeneficiary\nrequires: documentNumber + documentType\nnot required: countryOfResidence]
E --> E1[GtqBeneficiary\nrequires: phoneNumber added]
Loading

Fix All in Claude Code

Prompt To Fix All With AI
This is a comment left during a code review.
Path: openapi/components/schemas/common/DkkAccountInfoBase.yaml
Line: 22-25
Comment:
**Incorrect country prefix in IBAN examples**
Three schemas use `DE89370400440532013000` — a German IBAN — as their example value: `DkkAccountInfoBase` (Danish Krone), `EgpAccountInfoBase` (Egyptian Pound), and `PkrAccountInfoBase` (Pakistani Rupee). An IBAN example should carry the ISO country prefix that matches the currency's home country (`DK…` for Denmark, `EG…` for Egypt, `PK…` for Pakistan), otherwise it may mislead API consumers about what format to submit.
```suggestionexample: accountType: DKK_ACCOUNT iban: DK5000400440116243 swiftCode: DEUTDEFF```
How can I resolve this? If you propose a fix, please make it concise.

Reviews (1): Last reviewed commit: "chore: Sync account schemas" | Re-trigger Greptile

Comment on lines 22 to +25
maxLength: 11
pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
example:
accountType: DKK_ACCOUNT

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.

P2Incorrect country prefix in IBAN examples

Three schemas use DE89370400440532013000 — a German IBAN — as their example value: DkkAccountInfoBase (Danish Krone), EgpAccountInfoBase (Egyptian Pound), and PkrAccountInfoBase (Pakistani Rupee). An IBAN example should carry the ISO country prefix that matches the currency's home country (DK… for Denmark, EG… for Egypt, PK… for Pakistan), otherwise it may mislead API consumers about what format to submit.

Suggested change
maxLength: 11
pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
example:
accountType: DKK_ACCOUNT
example:
accountType: DKK_ACCOUNT
iban: DK5000400440116243
swiftCode: DEUTDEFF
Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/common/DkkAccountInfoBase.yaml
Line: 22-25
Comment:
**Incorrect country prefix in IBAN examples**
Three schemas use `DE89370400440532013000` — a German IBAN — as their example value: `DkkAccountInfoBase` (Danish Krone), `EgpAccountInfoBase` (Egyptian Pound), and `PkrAccountInfoBase` (Pakistani Rupee). An IBAN example should carry the ISO country prefix that matches the currency's home country (`DK…` for Denmark, `EG…` for Egypt, `PK…` for Pakistan), otherwise it may mislead API consumers about what format to submit.
```suggestionexample: accountType: DKK_ACCOUNT iban: DK5000400440116243 swiftCode: DEUTDEFF```
How can I resolve this? If you propose a fix, please make it concise.

Fix in Claude Code

@lightspark-copybara

Copy link
Copy Markdown
ContributorAuthor

Superseded by #388

@lightspark-copybara
lightspark-copybaraBot deleted the auto/sync-grid-schemas-20260423-215747 branch April 23, 2026 22:09
Sign up for freeto 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.

0 participants

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' chore: Sync account schemas by lightspark-copybara[bot] · Pull Request #387 · lightsparkdev/grid-api · GitHub
Skip to content

chore: Sync account schemas - #387

Closed
lightspark-copybara[bot] wants to merge 1 commit into
mainfrom
auto/sync-grid-schemas-20260423-215747
Closed

chore: Sync account schemas#387
lightspark-copybara[bot] wants to merge 1 commit into
mainfrom
auto/sync-grid-schemas-20260423-215747

Conversation

@lightspark-copybara

Copy link
Copy Markdown
Contributor

Auto-synced account schemas.

These schemas are generated from VASP adapter field definitions in sparkcore.

Synced schemas:

  • common/ — per-currency account info, beneficiary, and payment account schemas
  • common/PaymentInstructions.yaml — payment instructions oneOf (new currencies added)
  • external_accounts/ — per-currency external account schemas (reference common/)

Please review the changes before merging.

@vercel

vercelBot commented Apr 23, 2026

Copy link
Copy Markdown

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

ProjectDeploymentActionsUpdated (UTC)
grid-flow-builderReadyReadyPreview, CommentApr 23, 2026 9:58pm

Request Review

@github-actions

github-actionsBot commented Apr 23, 2026

Copy link
Copy Markdown
Contributor

✱ Stainless preview builds

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

kotlin

feat(api): add bankName across currencies, update phoneNumber/bankAccountType, revise payment rails

openapi

fix(types): update field requirements across USD/GTQ/COP/BDT/EGP/GHS/JMD/PKR account types

python

feat(api): add bank_name to BDT/EGP/GHS/JMD/PKR, remove phone_number from COP/GTQ, update USD types

typescript

feat(types): add bankName to BDT/EGP/GHS/JMD/PKR, update USD/COP/GTQ account types

Edit this comment to update them. They will appear in their respective SDK's changelogs.

grid-openapistudio · code · diff

Your SDK build had at least one new note diagnostic, which is a regression from the base state.
generate ❗

New diagnostics (2 note)
💡 Schema/EnumHasOneMember: Confirm intentional use of `enum` with single member.
💡 Schema/EnumHasOneMember: Confirm intentional use of `enum` with single member.
grid-kotlinstudio · code · diff

Your SDK build had at least one new note diagnostic, which is a regression from the base state.
generate ❗build ✅lint ✅test ✅

New diagnostics (2 note)
💡 Schema/EnumHasOneMember: Confirm intentional use of `enum` with single member.
💡 Schema/EnumHasOneMember: Confirm intentional use of `enum` with single member.
grid-typescriptstudio · code · diff

Your SDK build had at least one "error" diagnostic, but this did not represent a regression.
generate ❗build ✅lint ✅test ✅

npm install https://pkg.stainless.com/s/grid-typescript/3e1de4fb7391ff5e3fded1eb4502d9f7efa8d017/dist.tar.gz
grid-pythonstudio · code · diff

Your SDK build had at least one "error" diagnostic, but this did not represent a regression.
generate ❗build ✅lint ✅test ✅

pip install https://pkg.stainless.com/s/grid-python/8c22b48d5b769dfa251db413dff0735df748bcf6/grid-0.0.1-py3-none-any.whl

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-04-23 22:03:25 UTC

@greptile-apps

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR auto-syncs account schemas generated from VASP adapter field definitions in sparkcore. The changes include adding example blocks to all currency schemas, making bankName required in several schemas (BDT, COP, EGP, GHS, GTQ, HKD, JMD, PKR), and several breaking field changes: UsdAccountInfoBase replaces bankAccountType with a required phoneNumber, USD gains MOBILE_MONEY and drops BANK_TRANSFER as a payment rail, COP/GTQ drop MOBILE_MONEY, CopBeneficiary now requires documentNumber+documentType instead of countryOfResidence, and GtqBeneficiary gains a required phoneNumber.

Confidence Score: 5/5

Safe to merge — all findings are P2 documentation style issues that do not affect runtime validation or schema correctness.

All schema changes are intentional syncs from sparkcore. The only finding is that DKK, EGP, and PKR example IBANs use a German prefix rather than the country-appropriate prefix, which is a cosmetic documentation concern with no impact on validation logic.

openapi/components/schemas/common/DkkAccountInfoBase.yaml, EgpAccountInfoBase.yaml, PkrAccountInfoBase.yaml — example IBAN values use the wrong country prefix.

Important Files Changed

FilenameOverview
openapi/components/schemas/common/UsdAccountInfoBase.yamlBreaking change: bankAccountType (CHECKING/SAVINGS) replaced with phoneNumber (now required), example block added
openapi/components/schemas/common/UsdAccountInfo.yamlBANK_TRANSFER payment rail replaced with MOBILE_MONEY for USD accounts
openapi/components/schemas/common/CopAccountInfoBase.yamlphoneNumber field removed entirely; bankName made required with length constraints; example added
openapi/components/schemas/common/CopBeneficiary.yamlRequired fields changed: countryOfResidence removed from required, documentNumber and documentType added as required
openapi/components/schemas/common/GtqAccountInfoBase.yamlphoneNumber field replaced by bankAccountType (CHECKING/SAVINGS enum); bankName made required; example added
openapi/components/schemas/common/GtqBeneficiary.yamlphoneNumber added as a required field
openapi/components/schemas/common/DkkAccountInfoBase.yamlAdds example block — IBAN example value DE89370400440532013000 is a German IBAN, not a Danish one
openapi/components/schemas/common/EgpAccountInfoBase.yamlAdds bankName as required field and example block — IBAN example value DE89370400440532013000 is a German IBAN, not an Egyptian one
openapi/components/schemas/common/PkrAccountInfoBase.yamlAdds bankName as required field and example block — IBAN example value DE89370400440532013000 is a German IBAN, not a Pakistani one
openapi.yamlBundled OpenAPI spec updated in sync with all component YAML changes
mintlify/openapi.yamlMintlify bundled spec updated in sync with all component YAML changes

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[API Consumer] --> B{Currency}
B -->|USD| C[UsdAccountInfoBase\nrequires: accountNumber, routingNumber, phoneNumber\nrails: ACH, WIRE, RTP, FEDNOW, MOBILE_MONEY]
B -->|COP| D[CopAccountInfoBase\nrequires: bankName, accountNumber, bankAccountType\nrails: BANK_TRANSFER]
B -->|GTQ| E[GtqAccountInfoBase\nrequires: bankName, accountNumber, bankAccountType\nrails: BANK_TRANSFER]
B -->|EGP/GHS/PKR/BDT/JMD| F[*AccountInfoBase\nrequires: bankName added]
B -->|Other currencies| G[*AccountInfoBase\nexample blocks added]
D --> D1[CopBeneficiary\nrequires: documentNumber + documentType\nnot required: countryOfResidence]
E --> E1[GtqBeneficiary\nrequires: phoneNumber added]
Loading

Fix All in Claude Code

Prompt To Fix All With AI
This is a comment left during a code review.
Path: openapi/components/schemas/common/DkkAccountInfoBase.yaml
Line: 22-25
Comment:
**Incorrect country prefix in IBAN examples**
Three schemas use `DE89370400440532013000` — a German IBAN — as their example value: `DkkAccountInfoBase` (Danish Krone), `EgpAccountInfoBase` (Egyptian Pound), and `PkrAccountInfoBase` (Pakistani Rupee). An IBAN example should carry the ISO country prefix that matches the currency's home country (`DK…` for Denmark, `EG…` for Egypt, `PK…` for Pakistan), otherwise it may mislead API consumers about what format to submit.
```suggestionexample: accountType: DKK_ACCOUNT iban: DK5000400440116243 swiftCode: DEUTDEFF```
How can I resolve this? If you propose a fix, please make it concise.

Reviews (1): Last reviewed commit: "chore: Sync account schemas" | Re-trigger Greptile

Comment on lines 22 to +25
maxLength: 11
pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
example:
accountType: DKK_ACCOUNT

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.

P2Incorrect country prefix in IBAN examples

Three schemas use DE89370400440532013000 — a German IBAN — as their example value: DkkAccountInfoBase (Danish Krone), EgpAccountInfoBase (Egyptian Pound), and PkrAccountInfoBase (Pakistani Rupee). An IBAN example should carry the ISO country prefix that matches the currency's home country (DK… for Denmark, EG… for Egypt, PK… for Pakistan), otherwise it may mislead API consumers about what format to submit.

Suggested change
maxLength: 11
pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
example:
accountType: DKK_ACCOUNT
example:
accountType: DKK_ACCOUNT
iban: DK5000400440116243
swiftCode: DEUTDEFF
Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/common/DkkAccountInfoBase.yaml
Line: 22-25
Comment:
**Incorrect country prefix in IBAN examples**
Three schemas use `DE89370400440532013000` — a German IBAN — as their example value: `DkkAccountInfoBase` (Danish Krone), `EgpAccountInfoBase` (Egyptian Pound), and `PkrAccountInfoBase` (Pakistani Rupee). An IBAN example should carry the ISO country prefix that matches the currency's home country (`DK…` for Denmark, `EG…` for Egypt, `PK…` for Pakistan), otherwise it may mislead API consumers about what format to submit.
```suggestionexample: accountType: DKK_ACCOUNT iban: DK5000400440116243 swiftCode: DEUTDEFF```
How can I resolve this? If you propose a fix, please make it concise.

Fix in Claude Code

@lightspark-copybara

Copy link
Copy Markdown
ContributorAuthor

Superseded by #388

@lightspark-copybara
lightspark-copybaraBot deleted the auto/sync-grid-schemas-20260423-215747 branch April 23, 2026 22:09
Sign up for freeto 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.

0 participants

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' chore: Sync account schemas by lightspark-copybara[bot] · Pull Request #387 · lightsparkdev/grid-api · GitHub
Skip to content

chore: Sync account schemas - #387

Closed
lightspark-copybara[bot] wants to merge 1 commit into
mainfrom
auto/sync-grid-schemas-20260423-215747
Closed

chore: Sync account schemas#387
lightspark-copybara[bot] wants to merge 1 commit into
mainfrom
auto/sync-grid-schemas-20260423-215747

Conversation

@lightspark-copybara

Copy link
Copy Markdown
Contributor

Auto-synced account schemas.

These schemas are generated from VASP adapter field definitions in sparkcore.

Synced schemas:

  • common/ — per-currency account info, beneficiary, and payment account schemas
  • common/PaymentInstructions.yaml — payment instructions oneOf (new currencies added)
  • external_accounts/ — per-currency external account schemas (reference common/)

Please review the changes before merging.

@vercel

vercelBot commented Apr 23, 2026

Copy link
Copy Markdown

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

ProjectDeploymentActionsUpdated (UTC)
grid-flow-builderReadyReadyPreview, CommentApr 23, 2026 9:58pm

Request Review

@github-actions

github-actionsBot commented Apr 23, 2026

Copy link
Copy Markdown
Contributor

✱ Stainless preview builds

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

kotlin

feat(api): add bankName across currencies, update phoneNumber/bankAccountType, revise payment rails

openapi

fix(types): update field requirements across USD/GTQ/COP/BDT/EGP/GHS/JMD/PKR account types

python

feat(api): add bank_name to BDT/EGP/GHS/JMD/PKR, remove phone_number from COP/GTQ, update USD types

typescript

feat(types): add bankName to BDT/EGP/GHS/JMD/PKR, update USD/COP/GTQ account types

Edit this comment to update them. They will appear in their respective SDK's changelogs.

grid-openapistudio · code · diff

Your SDK build had at least one new note diagnostic, which is a regression from the base state.
generate ❗

New diagnostics (2 note)
💡 Schema/EnumHasOneMember: Confirm intentional use of `enum` with single member.
💡 Schema/EnumHasOneMember: Confirm intentional use of `enum` with single member.
grid-kotlinstudio · code · diff

Your SDK build had at least one new note diagnostic, which is a regression from the base state.
generate ❗build ✅lint ✅test ✅

New diagnostics (2 note)
💡 Schema/EnumHasOneMember: Confirm intentional use of `enum` with single member.
💡 Schema/EnumHasOneMember: Confirm intentional use of `enum` with single member.
grid-typescriptstudio · code · diff

Your SDK build had at least one "error" diagnostic, but this did not represent a regression.
generate ❗build ✅lint ✅test ✅

npm install https://pkg.stainless.com/s/grid-typescript/3e1de4fb7391ff5e3fded1eb4502d9f7efa8d017/dist.tar.gz
grid-pythonstudio · code · diff

Your SDK build had at least one "error" diagnostic, but this did not represent a regression.
generate ❗build ✅lint ✅test ✅

pip install https://pkg.stainless.com/s/grid-python/8c22b48d5b769dfa251db413dff0735df748bcf6/grid-0.0.1-py3-none-any.whl

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-04-23 22:03:25 UTC

@greptile-apps

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR auto-syncs account schemas generated from VASP adapter field definitions in sparkcore. The changes include adding example blocks to all currency schemas, making bankName required in several schemas (BDT, COP, EGP, GHS, GTQ, HKD, JMD, PKR), and several breaking field changes: UsdAccountInfoBase replaces bankAccountType with a required phoneNumber, USD gains MOBILE_MONEY and drops BANK_TRANSFER as a payment rail, COP/GTQ drop MOBILE_MONEY, CopBeneficiary now requires documentNumber+documentType instead of countryOfResidence, and GtqBeneficiary gains a required phoneNumber.

Confidence Score: 5/5

Safe to merge — all findings are P2 documentation style issues that do not affect runtime validation or schema correctness.

All schema changes are intentional syncs from sparkcore. The only finding is that DKK, EGP, and PKR example IBANs use a German prefix rather than the country-appropriate prefix, which is a cosmetic documentation concern with no impact on validation logic.

openapi/components/schemas/common/DkkAccountInfoBase.yaml, EgpAccountInfoBase.yaml, PkrAccountInfoBase.yaml — example IBAN values use the wrong country prefix.

Important Files Changed

FilenameOverview
openapi/components/schemas/common/UsdAccountInfoBase.yamlBreaking change: bankAccountType (CHECKING/SAVINGS) replaced with phoneNumber (now required), example block added
openapi/components/schemas/common/UsdAccountInfo.yamlBANK_TRANSFER payment rail replaced with MOBILE_MONEY for USD accounts
openapi/components/schemas/common/CopAccountInfoBase.yamlphoneNumber field removed entirely; bankName made required with length constraints; example added
openapi/components/schemas/common/CopBeneficiary.yamlRequired fields changed: countryOfResidence removed from required, documentNumber and documentType added as required
openapi/components/schemas/common/GtqAccountInfoBase.yamlphoneNumber field replaced by bankAccountType (CHECKING/SAVINGS enum); bankName made required; example added
openapi/components/schemas/common/GtqBeneficiary.yamlphoneNumber added as a required field
openapi/components/schemas/common/DkkAccountInfoBase.yamlAdds example block — IBAN example value DE89370400440532013000 is a German IBAN, not a Danish one
openapi/components/schemas/common/EgpAccountInfoBase.yamlAdds bankName as required field and example block — IBAN example value DE89370400440532013000 is a German IBAN, not an Egyptian one
openapi/components/schemas/common/PkrAccountInfoBase.yamlAdds bankName as required field and example block — IBAN example value DE89370400440532013000 is a German IBAN, not a Pakistani one
openapi.yamlBundled OpenAPI spec updated in sync with all component YAML changes
mintlify/openapi.yamlMintlify bundled spec updated in sync with all component YAML changes

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[API Consumer] --> B{Currency}
B -->|USD| C[UsdAccountInfoBase\nrequires: accountNumber, routingNumber, phoneNumber\nrails: ACH, WIRE, RTP, FEDNOW, MOBILE_MONEY]
B -->|COP| D[CopAccountInfoBase\nrequires: bankName, accountNumber, bankAccountType\nrails: BANK_TRANSFER]
B -->|GTQ| E[GtqAccountInfoBase\nrequires: bankName, accountNumber, bankAccountType\nrails: BANK_TRANSFER]
B -->|EGP/GHS/PKR/BDT/JMD| F[*AccountInfoBase\nrequires: bankName added]
B -->|Other currencies| G[*AccountInfoBase\nexample blocks added]
D --> D1[CopBeneficiary\nrequires: documentNumber + documentType\nnot required: countryOfResidence]
E --> E1[GtqBeneficiary\nrequires: phoneNumber added]
Loading

Fix All in Claude Code

Prompt To Fix All With AI
This is a comment left during a code review.
Path: openapi/components/schemas/common/DkkAccountInfoBase.yaml
Line: 22-25
Comment:
**Incorrect country prefix in IBAN examples**
Three schemas use `DE89370400440532013000` — a German IBAN — as their example value: `DkkAccountInfoBase` (Danish Krone), `EgpAccountInfoBase` (Egyptian Pound), and `PkrAccountInfoBase` (Pakistani Rupee). An IBAN example should carry the ISO country prefix that matches the currency's home country (`DK…` for Denmark, `EG…` for Egypt, `PK…` for Pakistan), otherwise it may mislead API consumers about what format to submit.
```suggestionexample: accountType: DKK_ACCOUNT iban: DK5000400440116243 swiftCode: DEUTDEFF```
How can I resolve this? If you propose a fix, please make it concise.

Reviews (1): Last reviewed commit: "chore: Sync account schemas" | Re-trigger Greptile

Comment on lines 22 to +25
maxLength: 11
pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
example:
accountType: DKK_ACCOUNT

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.

P2Incorrect country prefix in IBAN examples

Three schemas use DE89370400440532013000 — a German IBAN — as their example value: DkkAccountInfoBase (Danish Krone), EgpAccountInfoBase (Egyptian Pound), and PkrAccountInfoBase (Pakistani Rupee). An IBAN example should carry the ISO country prefix that matches the currency's home country (DK… for Denmark, EG… for Egypt, PK… for Pakistan), otherwise it may mislead API consumers about what format to submit.

Suggested change
maxLength: 11
pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
example:
accountType: DKK_ACCOUNT
example:
accountType: DKK_ACCOUNT
iban: DK5000400440116243
swiftCode: DEUTDEFF
Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/common/DkkAccountInfoBase.yaml
Line: 22-25
Comment:
**Incorrect country prefix in IBAN examples**
Three schemas use `DE89370400440532013000` — a German IBAN — as their example value: `DkkAccountInfoBase` (Danish Krone), `EgpAccountInfoBase` (Egyptian Pound), and `PkrAccountInfoBase` (Pakistani Rupee). An IBAN example should carry the ISO country prefix that matches the currency's home country (`DK…` for Denmark, `EG…` for Egypt, `PK…` for Pakistan), otherwise it may mislead API consumers about what format to submit.
```suggestionexample: accountType: DKK_ACCOUNT iban: DK5000400440116243 swiftCode: DEUTDEFF```
How can I resolve this? If you propose a fix, please make it concise.

Fix in Claude Code

@lightspark-copybara

Copy link
Copy Markdown
ContributorAuthor

Superseded by #388

@lightspark-copybara
lightspark-copybaraBot deleted the auto/sync-grid-schemas-20260423-215747 branch April 23, 2026 22:09
Sign up for freeto 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.

0 participants

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); chore: Sync account schemas by lightspark-copybara[bot] · Pull Request #387 · lightsparkdev/grid-api · GitHub
Skip to content

chore: Sync account schemas - #387

Closed
lightspark-copybara[bot] wants to merge 1 commit into
mainfrom
auto/sync-grid-schemas-20260423-215747
Closed

chore: Sync account schemas#387
lightspark-copybara[bot] wants to merge 1 commit into
mainfrom
auto/sync-grid-schemas-20260423-215747

Conversation

@lightspark-copybara

Copy link
Copy Markdown
Contributor

Auto-synced account schemas.

These schemas are generated from VASP adapter field definitions in sparkcore.

Synced schemas:

  • common/ — per-currency account info, beneficiary, and payment account schemas
  • common/PaymentInstructions.yaml — payment instructions oneOf (new currencies added)
  • external_accounts/ — per-currency external account schemas (reference common/)

Please review the changes before merging.

@vercel

vercelBot commented Apr 23, 2026

Copy link
Copy Markdown

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

ProjectDeploymentActionsUpdated (UTC)
grid-flow-builderReadyReadyPreview, CommentApr 23, 2026 9:58pm

Request Review

@github-actions

github-actionsBot commented Apr 23, 2026

Copy link
Copy Markdown
Contributor

✱ Stainless preview builds

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

kotlin

feat(api): add bankName across currencies, update phoneNumber/bankAccountType, revise payment rails

openapi

fix(types): update field requirements across USD/GTQ/COP/BDT/EGP/GHS/JMD/PKR account types

python

feat(api): add bank_name to BDT/EGP/GHS/JMD/PKR, remove phone_number from COP/GTQ, update USD types

typescript

feat(types): add bankName to BDT/EGP/GHS/JMD/PKR, update USD/COP/GTQ account types

Edit this comment to update them. They will appear in their respective SDK's changelogs.

grid-openapistudio · code · diff

Your SDK build had at least one new note diagnostic, which is a regression from the base state.
generate ❗

New diagnostics (2 note)
💡 Schema/EnumHasOneMember: Confirm intentional use of `enum` with single member.
💡 Schema/EnumHasOneMember: Confirm intentional use of `enum` with single member.
grid-kotlinstudio · code · diff

Your SDK build had at least one new note diagnostic, which is a regression from the base state.
generate ❗build ✅lint ✅test ✅

New diagnostics (2 note)
💡 Schema/EnumHasOneMember: Confirm intentional use of `enum` with single member.
💡 Schema/EnumHasOneMember: Confirm intentional use of `enum` with single member.
grid-typescriptstudio · code · diff

Your SDK build had at least one "error" diagnostic, but this did not represent a regression.
generate ❗build ✅lint ✅test ✅

npm install https://pkg.stainless.com/s/grid-typescript/3e1de4fb7391ff5e3fded1eb4502d9f7efa8d017/dist.tar.gz
grid-pythonstudio · code · diff

Your SDK build had at least one "error" diagnostic, but this did not represent a regression.
generate ❗build ✅lint ✅test ✅

pip install https://pkg.stainless.com/s/grid-python/8c22b48d5b769dfa251db413dff0735df748bcf6/grid-0.0.1-py3-none-any.whl

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-04-23 22:03:25 UTC

@greptile-apps

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR auto-syncs account schemas generated from VASP adapter field definitions in sparkcore. The changes include adding example blocks to all currency schemas, making bankName required in several schemas (BDT, COP, EGP, GHS, GTQ, HKD, JMD, PKR), and several breaking field changes: UsdAccountInfoBase replaces bankAccountType with a required phoneNumber, USD gains MOBILE_MONEY and drops BANK_TRANSFER as a payment rail, COP/GTQ drop MOBILE_MONEY, CopBeneficiary now requires documentNumber+documentType instead of countryOfResidence, and GtqBeneficiary gains a required phoneNumber.

Confidence Score: 5/5

Safe to merge — all findings are P2 documentation style issues that do not affect runtime validation or schema correctness.

All schema changes are intentional syncs from sparkcore. The only finding is that DKK, EGP, and PKR example IBANs use a German prefix rather than the country-appropriate prefix, which is a cosmetic documentation concern with no impact on validation logic.

openapi/components/schemas/common/DkkAccountInfoBase.yaml, EgpAccountInfoBase.yaml, PkrAccountInfoBase.yaml — example IBAN values use the wrong country prefix.

Important Files Changed

FilenameOverview
openapi/components/schemas/common/UsdAccountInfoBase.yamlBreaking change: bankAccountType (CHECKING/SAVINGS) replaced with phoneNumber (now required), example block added
openapi/components/schemas/common/UsdAccountInfo.yamlBANK_TRANSFER payment rail replaced with MOBILE_MONEY for USD accounts
openapi/components/schemas/common/CopAccountInfoBase.yamlphoneNumber field removed entirely; bankName made required with length constraints; example added
openapi/components/schemas/common/CopBeneficiary.yamlRequired fields changed: countryOfResidence removed from required, documentNumber and documentType added as required
openapi/components/schemas/common/GtqAccountInfoBase.yamlphoneNumber field replaced by bankAccountType (CHECKING/SAVINGS enum); bankName made required; example added
openapi/components/schemas/common/GtqBeneficiary.yamlphoneNumber added as a required field
openapi/components/schemas/common/DkkAccountInfoBase.yamlAdds example block — IBAN example value DE89370400440532013000 is a German IBAN, not a Danish one
openapi/components/schemas/common/EgpAccountInfoBase.yamlAdds bankName as required field and example block — IBAN example value DE89370400440532013000 is a German IBAN, not an Egyptian one
openapi/components/schemas/common/PkrAccountInfoBase.yamlAdds bankName as required field and example block — IBAN example value DE89370400440532013000 is a German IBAN, not a Pakistani one
openapi.yamlBundled OpenAPI spec updated in sync with all component YAML changes
mintlify/openapi.yamlMintlify bundled spec updated in sync with all component YAML changes

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[API Consumer] --> B{Currency}
B -->|USD| C[UsdAccountInfoBase\nrequires: accountNumber, routingNumber, phoneNumber\nrails: ACH, WIRE, RTP, FEDNOW, MOBILE_MONEY]
B -->|COP| D[CopAccountInfoBase\nrequires: bankName, accountNumber, bankAccountType\nrails: BANK_TRANSFER]
B -->|GTQ| E[GtqAccountInfoBase\nrequires: bankName, accountNumber, bankAccountType\nrails: BANK_TRANSFER]
B -->|EGP/GHS/PKR/BDT/JMD| F[*AccountInfoBase\nrequires: bankName added]
B -->|Other currencies| G[*AccountInfoBase\nexample blocks added]
D --> D1[CopBeneficiary\nrequires: documentNumber + documentType\nnot required: countryOfResidence]
E --> E1[GtqBeneficiary\nrequires: phoneNumber added]
Loading

Fix All in Claude Code

Prompt To Fix All With AI
This is a comment left during a code review.
Path: openapi/components/schemas/common/DkkAccountInfoBase.yaml
Line: 22-25
Comment:
**Incorrect country prefix in IBAN examples**
Three schemas use `DE89370400440532013000` — a German IBAN — as their example value: `DkkAccountInfoBase` (Danish Krone), `EgpAccountInfoBase` (Egyptian Pound), and `PkrAccountInfoBase` (Pakistani Rupee). An IBAN example should carry the ISO country prefix that matches the currency's home country (`DK…` for Denmark, `EG…` for Egypt, `PK…` for Pakistan), otherwise it may mislead API consumers about what format to submit.
```suggestionexample: accountType: DKK_ACCOUNT iban: DK5000400440116243 swiftCode: DEUTDEFF```
How can I resolve this? If you propose a fix, please make it concise.

Reviews (1): Last reviewed commit: "chore: Sync account schemas" | Re-trigger Greptile

Comment on lines 22 to +25
maxLength: 11
pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
example:
accountType: DKK_ACCOUNT

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.

P2Incorrect country prefix in IBAN examples

Three schemas use DE89370400440532013000 — a German IBAN — as their example value: DkkAccountInfoBase (Danish Krone), EgpAccountInfoBase (Egyptian Pound), and PkrAccountInfoBase (Pakistani Rupee). An IBAN example should carry the ISO country prefix that matches the currency's home country (DK… for Denmark, EG… for Egypt, PK… for Pakistan), otherwise it may mislead API consumers about what format to submit.

Suggested change
maxLength: 11
pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
example:
accountType: DKK_ACCOUNT
example:
accountType: DKK_ACCOUNT
iban: DK5000400440116243
swiftCode: DEUTDEFF
Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/common/DkkAccountInfoBase.yaml
Line: 22-25
Comment:
**Incorrect country prefix in IBAN examples**
Three schemas use `DE89370400440532013000` — a German IBAN — as their example value: `DkkAccountInfoBase` (Danish Krone), `EgpAccountInfoBase` (Egyptian Pound), and `PkrAccountInfoBase` (Pakistani Rupee). An IBAN example should carry the ISO country prefix that matches the currency's home country (`DK…` for Denmark, `EG…` for Egypt, `PK…` for Pakistan), otherwise it may mislead API consumers about what format to submit.
```suggestionexample: accountType: DKK_ACCOUNT iban: DK5000400440116243 swiftCode: DEUTDEFF```
How can I resolve this? If you propose a fix, please make it concise.

Fix in Claude Code

@lightspark-copybara

Copy link
Copy Markdown
ContributorAuthor

Superseded by #388

@lightspark-copybara
lightspark-copybaraBot deleted the auto/sync-grid-schemas-20260423-215747 branch April 23, 2026 22:09
Sign up for freeto 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.

0 participants