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

vercel Bot commented Apr 23, 2026

Copy link
Copy Markdown

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 23, 2026 9:58pm

Request Review

@github-actions

github-actions Bot 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-openapi studio · 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-kotlin studio · 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-typescript studio · 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-python studio · 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

greptile-apps Bot commented Apr 23, 2026

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

Filename Overview
openapi/components/schemas/common/UsdAccountInfoBase.yaml Breaking change: bankAccountType (CHECKING/SAVINGS) replaced with phoneNumber (now required), example block added
openapi/components/schemas/common/UsdAccountInfo.yaml BANK_TRANSFER payment rail replaced with MOBILE_MONEY for USD accounts
openapi/components/schemas/common/CopAccountInfoBase.yaml phoneNumber field removed entirely; bankName made required with length constraints; example added
openapi/components/schemas/common/CopBeneficiary.yaml Required fields changed: countryOfResidence removed from required, documentNumber and documentType added as required
openapi/components/schemas/common/GtqAccountInfoBase.yaml phoneNumber field replaced by bankAccountType (CHECKING/SAVINGS enum); bankName made required; example added
openapi/components/schemas/common/GtqBeneficiary.yaml phoneNumber added as a required field
openapi/components/schemas/common/DkkAccountInfoBase.yaml Adds example block — IBAN example value DE89370400440532013000 is a German IBAN, not a Danish one
openapi/components/schemas/common/EgpAccountInfoBase.yaml Adds bankName as required field and example block — IBAN example value DE89370400440532013000 is a German IBAN, not an Egyptian one
openapi/components/schemas/common/PkrAccountInfoBase.yaml Adds bankName as required field and example block — IBAN example value DE89370400440532013000 is a German IBAN, not a Pakistani one
openapi.yaml Bundled OpenAPI spec updated in sync with all component YAML changes
mintlify/openapi.yaml Mintlify 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.

```suggestion
example:
  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.

P2 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.

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.

```suggestion
example:
  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
Contributor Author

Superseded by #388

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

0 participants