chore: Sync account schemas#416
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
✱ Stainless preview buildsThis PR will update the kotlin openapi python typescript ✅ grid-typescript studio · code
✅ grid-python studio · code
✅ grid-kotlin studio · code
This comment is auto-generated by GitHub Actions and is automatically kept up to date as you push. |
Greptile SummaryThis PR auto-syncs account and beneficiary schemas from sparkcore across 6 currencies (BDT, GHS, GTQ, HTG, JMD, PKR). The main changes are: (1)
Confidence Score: 3/5Contains breaking API changes (new required fields on beneficiary schemas) that will affect existing clients without a migration notice. A P1 finding is present: All five
|
| 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]
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
| - beneficiaryType | ||
| - countryOfResidence | ||
| - fullName |
There was a problem hiding this 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.
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.| required: | ||
| - accountType | ||
| - bankName | ||
| - accountNumber | ||
| - branchCode | ||
| - phoneNumber |
There was a problem hiding this 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).
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.
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 schemascommon/PaymentInstructions.yaml— payment instructions oneOf (new currencies added)external_accounts/— per-currency external account schemas (reference common/)Please review the changes before merging.