Skip to content

chore: Sync account schemas#416

Merged
JasonCWang merged 1 commit intomainfrom
auto/sync-grid-schemas-20260428-224700
Apr 28, 2026
Merged

chore: Sync account schemas#416
JasonCWang merged 1 commit intomainfrom
auto/sync-grid-schemas-20260428-224700

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
Copy link
Copy Markdown

vercel Bot commented Apr 28, 2026

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

Project Deployment Actions Updated (UTC)
grid-flow-builder Ready Ready Preview, Comment Apr 28, 2026 10:47pm

Request Review

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 28, 2026

✱ Stainless preview builds

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

kotlin

fix(types): remove bankName, require countryOfResidence, update BDT/GTQ field optionality

openapi

fix(types): make bankName optional in account types, countryOfResidence required in beneficiaries

python

fix(types): remove bank_name, update field optionality in account/beneficiary types

typescript

fix(types): update BDT/GHS/GTQ/HTG/JMD/PKR account and beneficiary types
grid-typescript studio · code

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

npm install https://pkg.stainless.com/s/grid-typescript/f21102a8d02c768d927a02b67b82657cf9d27674/dist.tar.gz
grid-openapi studio · code

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

grid-python studio · code

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

pip install https://pkg.stainless.com/s/grid-python/dca1e26ce73b890b99765166c63992b1bb909f75/grid-0.0.1-py3-none-any.whl
grid-kotlin studio · code

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


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-28 23:06:07 UTC

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Apr 28, 2026

Greptile Summary

This PR auto-syncs account and beneficiary schemas from sparkcore across 6 currencies (BDT, GHS, GTQ, HTG, JMD, PKR). The main changes are: (1) bankName is removed entirely from required and properties in BDT, GHS, GTQ, and JMD account schemas; (2) countryOfResidence is promoted to required in five beneficiary schemas; (3) phoneNumber is relaxed to optional in GTQ beneficiary; and (4) bankName is reordered (not removed) in the PKR schema.

  • Breaking change: Adding countryOfResidence as required to BDT, GHS, HTG, JMD, and PKR beneficiary schemas will cause existing clients that omit this field to receive 400 validation errors — a migration notice or changelog entry is recommended.
  • bankName asymmetry: In BdtAccountInfoBase, branchCode is demoted to optional (property retained) while bankName is removed from properties entirely — confirm this matches the actual backend behavior.

Confidence Score: 3/5

Contains breaking API changes (new required fields on beneficiary schemas) that will affect existing clients without a migration notice.

A P1 finding is present: countryOfResidence is added as required to five beneficiary schemas, which is a breaking change for existing API consumers. The single P1 caps the score at 4, and given that it affects five schemas and multiple currency corridors without any documented migration path in the PR, the score is pulled slightly lower to 3.

All five *Beneficiary.yaml files (BDT, GHS, HTG, JMD, PKR) and BdtAccountInfoBase.yaml for the bankName vs branchCode asymmetry.

Important Files Changed

Filename Overview
openapi/components/schemas/common/BdtAccountInfoBase.yaml Removes bankName entirely (required + property) and demotes branchCode to optional; bankName asymmetrically removed vs branchCode
openapi/components/schemas/common/BdtBeneficiary.yaml Adds countryOfResidence to required — breaking change for existing clients
openapi/components/schemas/common/GhsAccountInfoBase.yaml Removes bankName from required and properties entirely
openapi/components/schemas/common/GhsBeneficiary.yaml Adds countryOfResidence to required — breaking change for existing clients
openapi/components/schemas/common/GtqAccountInfoBase.yaml Removes bankName from required and properties entirely
openapi/components/schemas/common/GtqBeneficiary.yaml Removes phoneNumber from required — non-breaking relaxation of constraints
openapi/components/schemas/common/HtgBeneficiary.yaml Adds countryOfResidence to required — breaking change for existing clients
openapi/components/schemas/common/JmdAccountInfoBase.yaml Removes bankName from required and properties entirely
openapi/components/schemas/common/JmdBeneficiary.yaml Adds countryOfResidence to required — breaking change for existing clients
openapi/components/schemas/common/PkrAccountInfoBase.yaml Reorders bankName to end of required list and properties; semantically equivalent, still required
openapi/components/schemas/common/PkrBeneficiary.yaml Adds countryOfResidence to required — breaking change for existing clients
openapi.yaml Bundled OpenAPI spec updated to reflect all component schema changes
mintlify/openapi.yaml Mintlify docs bundle updated to mirror openapi.yaml changes identically

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[sparkcore VASP adapter definitions] -->|auto-sync| B[component YAML files]
    B --> C[openapi.yaml bundled]
    C --> D[mintlify/openapi.yaml docs]
    B --> E[BDT / GHS / GTQ / JMD AccountInfoBase bankName removed entirely]
    B --> F[PKR AccountInfoBase bankName reordered only]
    B --> G[BDT AccountInfoBase branchCode demoted to optional]
    B --> H[BDT / GHS / HTG / JMD / PKR Beneficiary countryOfResidence added as required]
    B --> I[GTQ Beneficiary phoneNumber demoted to optional]
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/BdtBeneficiary.yaml
Line: 4-6

Comment:
**Breaking change: `countryOfResidence` is now required**

`countryOfResidence` has been promoted to `required` in five beneficiary schemas: BDT, GHS, HTG, JMD, and PKR. Any existing client that creates a payment without supplying this field will now fail validation. Since this sync reflects what sparkcore already enforces, consumers who haven't yet updated their integration will start receiving `400` errors. Ensure a changelog entry or migration notice accompanies this release.

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

---

This is a comment left during a code review.
Path: openapi/components/schemas/common/BdtAccountInfoBase.yaml
Line: 2-5

Comment:
**`bankName` removed from schema entirely vs. `branchCode` kept as optional**

For BDT, GHS, GTQ, and JMD account schemas, `bankName` is removed from both `required` and `properties` entirely, meaning the field is no longer documented or accepted at all. In contrast, `branchCode` in BdtAccountInfoBase is removed from `required` but remains as an optional property. This asymmetry is worth double-checking: if `bankName` is truly unsupported by the backend, fully removing it is correct. If it is still accepted (just optional), the property definition should be retained (as was done for `branchCode`).

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 4 to 6
- beneficiaryType
- countryOfResidence
- fullName
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P1 Breaking change: countryOfResidence is now required

countryOfResidence has been promoted to required in five beneficiary schemas: BDT, GHS, HTG, JMD, and PKR. Any existing client that creates a payment without supplying this field will now fail validation. Since this sync reflects what sparkcore already enforces, consumers who haven't yet updated their integration will start receiving 400 errors. Ensure a changelog entry or migration notice accompanies this release.

Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/common/BdtBeneficiary.yaml
Line: 4-6

Comment:
**Breaking change: `countryOfResidence` is now required**

`countryOfResidence` has been promoted to `required` in five beneficiary schemas: BDT, GHS, HTG, JMD, and PKR. Any existing client that creates a payment without supplying this field will now fail validation. Since this sync reflects what sparkcore already enforces, consumers who haven't yet updated their integration will start receiving `400` errors. Ensure a changelog entry or migration notice accompanies this release.

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

Fix in Claude Code

Comment on lines 2 to 5
required:
- accountType
- bankName
- accountNumber
- branchCode
- phoneNumber
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 bankName removed from schema entirely vs. branchCode kept as optional

For BDT, GHS, GTQ, and JMD account schemas, bankName is removed from both required and properties entirely, meaning the field is no longer documented or accepted at all. In contrast, branchCode in BdtAccountInfoBase is removed from required but remains as an optional property. This asymmetry is worth double-checking: if bankName is truly unsupported by the backend, fully removing it is correct. If it is still accepted (just optional), the property definition should be retained (as was done for branchCode).

Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/common/BdtAccountInfoBase.yaml
Line: 2-5

Comment:
**`bankName` removed from schema entirely vs. `branchCode` kept as optional**

For BDT, GHS, GTQ, and JMD account schemas, `bankName` is removed from both `required` and `properties` entirely, meaning the field is no longer documented or accepted at all. In contrast, `branchCode` in BdtAccountInfoBase is removed from `required` but remains as an optional property. This asymmetry is worth double-checking: if `bankName` is truly unsupported by the backend, fully removing it is correct. If it is still accepted (just optional), the property definition should be retained (as was done for `branchCode`).

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

Fix in Claude Code

@JasonCWang JasonCWang merged commit 10da9cc into main Apr 28, 2026
8 checks passed
@JasonCWang JasonCWang deleted the auto/sync-grid-schemas-20260428-224700 branch April 28, 2026 22:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant