chore: Sync account schemas#539
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
|
✱ Stainless preview builds for gridThis PR will update the cli csharp go kotlin openapi php python ruby typescript Edit this comment to update them. They will appear in their respective SDK's changelogs. ✅ grid-openapi studio · code · diff
✅ grid-ruby studio · code · diff
✅ grid-kotlin studio · code · diff
✅ grid-typescript studio · code · diff
|
Greptile SummaryThis PR syncs five per-currency account info base schemas (BDT, COP, EGP, GHS, PKR) by adding
Confidence Score: 4/5Safe to merge if the backend already enforces bankName; the schema is catching up to an existing constraint. Proceed with caution if bankName is a new backend requirement being rolled out simultaneously. The core change — promoting bankName to unconditionally required — is consistent across all five schemas and the generated bundles match the sources correctly. The main concern is that adding a field to required is a backward-incompatible contract change: any existing client omitting bankName will now fail validation. If the backend already requires it in production this is a documentation-only sync, but if not, callers need advance notice. The PR description also references PaymentInstructions.yaml and external_accounts/ updates that don't appear in the diff, which warrants confirmation before merging. All five *AccountInfoBase.yaml source schemas carry the same breaking-change pattern; openapi.yaml and mintlify/openapi.yaml are generated bundles and look correct.
|
| Filename | Overview |
|---|---|
| openapi/components/schemas/common/BdtAccountInfoBase.yaml | Adds bankName as a new top-level required field and to BANK_TRANSFER/MOBILE_MONEY rails in description; breaking change for existing callers who omit bankName. |
| openapi/components/schemas/common/CopAccountInfoBase.yaml | Adds bankName as globally required field; updates rail-specific description for BANK_TRANSFER and MOBILE_MONEY. |
| openapi/components/schemas/common/EgpAccountInfoBase.yaml | Adds bankName as globally required field; updates description for both payment rails. |
| openapi/components/schemas/common/GhsAccountInfoBase.yaml | Adds bankName as globally required field; updates description for BANK_TRANSFER and MOBILE_MONEY rails. |
| openapi/components/schemas/common/PkrAccountInfoBase.yaml | bankName was already a MOBILE_MONEY field; now added to required array and BANK_TRANSFER rail. Property is moved to top of the list and the duplicate definition at the bottom is removed. |
| openapi.yaml | Generated bundle reflecting the same bankName changes across all five account info base schemas. |
| mintlify/openapi.yaml | Mintlify copy of generated bundle; identical changes to openapi.yaml — correct per the build process. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
subgraph "Required (all rails)"
R1[accountType]
R2[bankName NEW]
end
subgraph "BDT / GHS"
BT1["BANK_TRANSFER: accountNumber + bankName"]
MM1["MOBILE_MONEY: bankName + phoneNumber"]
end
subgraph "EGP"
BT2["BANK_TRANSFER: iban + bankName"]
MM2["MOBILE_MONEY: bankName + phoneNumber"]
end
subgraph "COP"
BT3["BANK_TRANSFER: accountNumber + bankAccountType + bankName"]
MM3["MOBILE_MONEY: bankName + phoneNumber"]
end
subgraph "PKR"
BT4["BANK_TRANSFER: accountNumber + bankName"]
MM4["MOBILE_MONEY: bankName + phoneNumber"]
end
R2 --> BT1 & MM1
R2 --> BT2 & MM2
R2 --> BT3 & MM3
R2 --> BT4 & MM4
Prompt To Fix All With AI
Fix the following 2 code review issues. Work through them one at a time, proposing concise fixes.
---
### Issue 1 of 2
openapi/components/schemas/common/BdtAccountInfoBase.yaml:3-4
**`bankName` now globally required — breaking change for existing callers**
`bankName` has been added to the top-level `required` array, making it unconditionally required regardless of payment rail. Any existing API client submitting a BDT (or COP, EGP, GHS) account payload without `bankName` will now fail schema validation. The same pattern applies across all five schemas in this PR. If the backend already enforces this constraint, this sync is purely documentational — but if not, it is a backward-incompatible contract change that may need a migration notice or deprecation period.
### Issue 2 of 2
openapi/components/schemas/common/BdtAccountInfoBase.yaml:1-5
**PR description references changes not present in the diff**
The PR description lists `common/PaymentInstructions.yaml` (new currencies added) and `external_accounts/` (per-currency external account schemas) as synced, but neither appears in this diff. Were those changes intentionally excluded from this PR, or are they still pending in a follow-up sync?
Reviews (1): Last reviewed commit: "chore: Sync account schemas" | Re-trigger Greptile
| - accountType | ||
| - bankName |
There was a problem hiding this comment.
bankName now globally required — breaking change for existing callers
bankName has been added to the top-level required array, making it unconditionally required regardless of payment rail. Any existing API client submitting a BDT (or COP, EGP, GHS) account payload without bankName will now fail schema validation. The same pattern applies across all five schemas in this PR. If the backend already enforces this constraint, this sync is purely documentational — but if not, it is a backward-incompatible contract change that may need a migration notice or deprecation period.
Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/common/BdtAccountInfoBase.yaml
Line: 3-4
Comment:
**`bankName` now globally required — breaking change for existing callers**
`bankName` has been added to the top-level `required` array, making it unconditionally required regardless of payment rail. Any existing API client submitting a BDT (or COP, EGP, GHS) account payload without `bankName` will now fail schema validation. The same pattern applies across all five schemas in this PR. If the backend already enforces this constraint, this sync is purely documentational — but if not, it is a backward-incompatible contract change that may need a migration notice or deprecation period.
How can I resolve this? If you propose a fix, please make it concise.Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
| type: object | ||
| required: | ||
| - accountType | ||
| - bankName | ||
| description: 'Required fields depend on the selected paymentRails: |
There was a problem hiding this comment.
PR description references changes not present in the diff
The PR description lists common/PaymentInstructions.yaml (new currencies added) and external_accounts/ (per-currency external account schemas) as synced, but neither appears in this diff. Were those changes intentionally excluded from this PR, or are they still pending in a follow-up sync? Were the PaymentInstructions.yaml and external_accounts/ changes intentionally left out of this PR, or are they missing by mistake?
Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/common/BdtAccountInfoBase.yaml
Line: 1-5
Comment:
**PR description references changes not present in the diff**
The PR description lists `common/PaymentInstructions.yaml` (new currencies added) and `external_accounts/` (per-currency external account schemas) as synced, but neither appears in this diff. Were those changes intentionally excluded from this PR, or are they still pending in a follow-up sync? Were the PaymentInstructions.yaml and external_accounts/ changes intentionally left out of this PR, or are they missing by mistake?
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.