Skip to content

chore: Sync account schemas#186

Closed
lightspark-copybara[bot] wants to merge 3 commits intomainfrom
auto/sync-grid-schemas-20260212-184916
Closed

chore: Sync account schemas#186
lightspark-copybara[bot] wants to merge 3 commits intomainfrom
auto/sync-grid-schemas-20260212-184916

Conversation

@lightspark-copybara
Copy link
Contributor

Auto-synced account schemas.

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

Synced directories:

  • common/ — per-currency account info and beneficiary schemas
  • external_accounts/ — per-currency external account schemas (reference common/)

Please review the changes before merging.

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Feb 12, 2026

Greptile Overview

Greptile Summary

This PR auto-syncs account schemas from sparkcore VASP adapter field definitions, adding support for 14 new currencies (BRL, DKK, HKD, IDR, INR, MXN, MYR, THB, USD, VND) and updating the schema structure.

Key Changes:

  • Renamed external account schema files from {Currency}AccountExternalAccountInfo.yaml to {Currency}ExternalAccountInfo.yaml for consistency
  • Updated ExternalAccountType enum to use consistent _ACCOUNT suffix (e.g., CLABECLABE_ACCOUNT, PIXPIX_ACCOUNT)
  • Added 28 new schema files: 14 {Currency}AccountInfo.yaml files and 14 {Currency}Beneficiary.yaml files in common/ directory
  • Resolved duplicate reference issue in ExternalAccountInfoOneOf.yaml that was flagged in previous review

Critical Issues (persist from previous review):

  • Seven external account schemas are missing required beneficiary field: CadExternalAccountInfo.yaml, ClabeExternalAccountInfo.yaml, IbanExternalAccountInfo.yaml, NgnExternalAccountInfo.yaml, PixExternalAccountInfo.yaml, UpiExternalAccountInfo.yaml, and UsExternalAccountInfo.yaml. The old versions of these files ({Currency}AccountExternalAccountInfo.yaml) included this required field with reference to BeneficiaryOneOf.yaml.
  • GbpAccountInfo.yaml removed all validation patterns (regex for sort code/account number format), min/max length constraints, and examples
  • SgdAccountInfo.yaml removed the required swiftCode field entirely, along with all validation patterns and examples
  • PhpAccountInfo.yaml removed the accountType field and examples

Note: Since this is an auto-generated sync from sparkcore, these issues suggest the source system may need updates. The beneficiary field removal appears unintentional as newer currency schemas (BRL, DKK, HKD, etc.) correctly include beneficiary fields.

Confidence Score: 2/5

  • This PR has critical schema issues that need resolution before merging
  • Seven external account schemas are missing required beneficiary fields that existed in previous versions, which would break API functionality for CAD, CLABE, IBAN, NGN, PIX, UPI, and US account types. Additionally, GBP and SGD schemas lost important validation rules and required fields (swiftCode for SGD). These are not minor issues - they represent breaking changes to the API contract.
  • Pay close attention to CadExternalAccountInfo.yaml, ClabeExternalAccountInfo.yaml, IbanExternalAccountInfo.yaml, NgnExternalAccountInfo.yaml, PixExternalAccountInfo.yaml, UpiExternalAccountInfo.yaml, UsExternalAccountInfo.yaml, SgdAccountInfo.yaml, and GbpAccountInfo.yaml - these files have missing required fields or removed validation

Important Files Changed

Filename Overview
openapi/components/schemas/external_accounts/ExternalAccountInfoOneOf.yaml Updated file references from old naming convention (e.g., CadAccountExternalAccountInfo.yaml) to new convention (e.g., CadExternalAccountInfo.yaml), resolving the duplicate references issue flagged in previous review
openapi/components/schemas/external_accounts/CadExternalAccountInfo.yaml New file missing required beneficiary field that was present in old CadAccountExternalAccountInfo.yaml - same issue persists from previous review
openapi/components/schemas/external_accounts/ClabeExternalAccountInfo.yaml New file missing required beneficiary field that was present in old file - issue persists from previous review
openapi/components/schemas/external_accounts/IbanExternalAccountInfo.yaml New file missing required beneficiary field that was present in old file - issue persists from previous review
openapi/components/schemas/external_accounts/PixExternalAccountInfo.yaml New file missing required beneficiary field that was present in old file - issue persists from previous review
openapi/components/schemas/external_accounts/UpiExternalAccountInfo.yaml New file missing required beneficiary field that was present in old file - issue persists from previous review
openapi/components/schemas/external_accounts/UsExternalAccountInfo.yaml New file missing required beneficiary field that was present in old file - issue persists from previous review
openapi/components/schemas/external_accounts/NgnExternalAccountInfo.yaml New file missing required beneficiary field that was present in old file - issue persists from previous review
openapi/components/schemas/common/GbpAccountInfo.yaml Removed validation patterns, examples, min/max length constraints, and accountType field - less strict validation than previous version
openapi/components/schemas/common/SgdAccountInfo.yaml Removed required swiftCode field, validation patterns, examples, and accountType field - significant schema simplification

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

47 files reviewed, 4 comments

Edit Code Review Agent Settings | Greptile

Comment on lines 14 to 73
- title: CAD Account
$ref: ./CadAccountExternalAccountInfo.yaml
- title: GBP Account
$ref: ./GbpAccountExternalAccountInfo.yaml
- title: PHP Account
$ref: ./PhpAccountExternalAccountInfo.yaml
- title: SGD Account
$ref: ./SgdAccountExternalAccountInfo.yaml
- title: Spark Wallet
$ref: ./SparkWalletExternalAccountInfo.yaml
- title: Lightning
$ref: ./LightningExternalAccountInfo.yaml
- title: Solana Wallet
$ref: ./SolanaWalletExternalAccountInfo.yaml
- title: Tron Wallet
$ref: ./TronWalletExternalAccountInfo.yaml
- title: Polygon Wallet
$ref: ./PolygonWalletExternalAccountInfo.yaml
- title: Base Wallet
$ref: ./BaseWalletExternalAccountInfo.yaml
- title: Brl Account
$ref: ./BrlExternalAccountInfo.yaml
- title: Cad Account
$ref: ./CadExternalAccountInfo.yaml
- title: Clabe Account
$ref: ./ClabeExternalAccountInfo.yaml
- title: Dkk Account
$ref: ./DkkExternalAccountInfo.yaml
- title: Gbp Account
$ref: ./GbpExternalAccountInfo.yaml
- title: Hkd Account
$ref: ./HkdExternalAccountInfo.yaml
- title: Iban Account
$ref: ./IbanExternalAccountInfo.yaml
- title: Idr Account
$ref: ./IdrExternalAccountInfo.yaml
- title: Inr Account
$ref: ./InrExternalAccountInfo.yaml
- title: Mxn Account
$ref: ./MxnExternalAccountInfo.yaml
- title: Myr Account
$ref: ./MyrExternalAccountInfo.yaml
- title: Ngn Account
$ref: ./NgnExternalAccountInfo.yaml
- title: Php Account
$ref: ./PhpExternalAccountInfo.yaml
- title: Pix Account
$ref: ./PixExternalAccountInfo.yaml
- title: Sgd Account
$ref: ./SgdExternalAccountInfo.yaml
- title: Thb Account
$ref: ./ThbExternalAccountInfo.yaml
- title: Upi Account
$ref: ./UpiExternalAccountInfo.yaml
- title: Us Account
$ref: ./UsExternalAccountInfo.yaml
- title: Usd Account
$ref: ./UsdExternalAccountInfo.yaml
- title: Vnd Account
$ref: ./VndExternalAccountInfo.yaml
Copy link
Contributor

Choose a reason for hiding this comment

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

Duplicate account types in oneOf array — both old and new file references exist for CAD, CLABE, GBP, IBAN, NGN, PHP, PIX, SGD, UPI, and US accounts (e.g., CadAccountExternalAccountInfo.yaml on line 15 and CadExternalAccountInfo.yaml on line 37). This will cause schema validation issues.

Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/external_accounts/ExternalAccountInfoOneOf.yaml
Line: 14:73

Comment:
Duplicate account types in `oneOf` array — both old and new file references exist for CAD, CLABE, GBP, IBAN, NGN, PHP, PIX, SGD, UPI, and US accounts (e.g., `CadAccountExternalAccountInfo.yaml` on line 15 and `CadExternalAccountInfo.yaml` on line 37). This will cause schema validation issues.

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

Comment on lines 1 to 10
type: object
required:
- bankName
- swiftCode
- accountNumber
- accountType
- bankName
- accountNumber
properties:
accountType:
type: string
enum:
- SGD_ACCOUNT
bankName:
type: string
description: Name of the beneficiary's bank
example: DBS Bank Ltd
swiftCode:
type: string
description: SWIFT/BIC code (8 or 11 characters)
example: DBSSSGSG
minLength: 8
maxLength: 11
pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
description: The bank name of the bank
accountNumber:
type: string
Copy link
Contributor

Choose a reason for hiding this comment

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

Removed swiftCode field entirely (was required in old schema), along with all validation patterns, examples, and the accountType field. The old schema required swiftCode with SWIFT/BIC validation. Verify this field removal is intentional.

Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/common/SgdAccountInfo.yaml
Line: 1:10

Comment:
Removed `swiftCode` field entirely (was required in old schema), along with all validation patterns, examples, and the `accountType` field. The old schema required `swiftCode` with SWIFT/BIC validation. Verify this field removal is intentional.

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

Comment on lines 1 to 10
type: object
required:
- bankName
- accountNumber
- accountType
- bankName
- accountNumber
properties:
accountType:
type: string
enum:
- PHP_ACCOUNT
bankName:
type: string
description: Name of the beneficiary's bank
example: BDO Unibank
description: The bank name of the bank
accountNumber:
type: string
Copy link
Contributor

Choose a reason for hiding this comment

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

Removed validation examples and the accountType field. Descriptions also changed from specific (e.g., "Name of the beneficiary's bank") to generic (e.g., "The bank name of the bank"). Verify these changes are intentional.

Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/common/PhpAccountInfo.yaml
Line: 1:10

Comment:
Removed validation examples and the `accountType` field. Descriptions also changed from specific (e.g., "Name of the beneficiary's bank") to generic (e.g., "The bank name of the bank"). Verify these changes are intentional.

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

@github-actions
Copy link

github-actions bot commented Feb 12, 2026

✱ Stainless preview builds

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

kotlin

chore: Sync account schemas

openapi

feat(api): add BRL/CAD/DKK/HKD/IDR/INR/MXN/MYR/THB/USD/VND accounts, simplify GBP/PHP/SGD

python

chore: Sync account schemas

typescript

feat(api): add multi-currency external account types to external-accounts

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

⚠️ grid-typescript studio · code · diff

There was a regression in your SDK.
generate ❗ (prev: generate ✅) → build ✅lint ✅test ✅

npm install https://pkg.stainless.com/s/grid-typescript/503d0b8808d8dfc1e45f8db6a0b5ab90d0943551/dist.tar.gz
New diagnostics (12 error, 13 warning, 66 note)
Transform/Failed: Transform `remove` failed at step `8`.
Reference/NotFound: Ignored reference `#/components/schemas/UsAccountExternalAccountInfo` (not found in spec).
Reference/NotFound: Ignored reference `#/components/schemas/ClabeAccountExternalAccountInfo` (not found in spec).
Reference/NotFound: Ignored reference `#/components/schemas/PixAccountExternalAccountInfo` (not found in spec).
Reference/NotFound: Ignored reference `#/components/schemas/IbanAccountExternalAccountInfo` (not found in spec).
Reference/NotFound: Ignored reference `#/components/schemas/UpiAccountExternalAccountInfo` (not found in spec).
Reference/NotFound: Ignored reference `#/components/schemas/NgnAccountExternalAccountInfo` (not found in spec).
Reference/NotFound: Ignored reference `#/components/schemas/CadAccountExternalAccountInfo` (not found in spec).
Reference/NotFound: Ignored reference `#/components/schemas/GbpAccountExternalAccountInfo` (not found in spec).
Reference/NotFound: Ignored reference `#/components/schemas/PhpAccountExternalAccountInfo` (not found in spec).
⚠️ grid-openapi studio · code · diff

There was a regression in your SDK.
generate ❗ (prev: generate ✅)

New diagnostics (12 error, 13 warning, 66 note)
Transform/Failed: Transform `remove` failed at step `8`.
Reference/NotFound: Ignored reference `#/components/schemas/UsAccountExternalAccountInfo` (not found in spec).
Reference/NotFound: Ignored reference `#/components/schemas/ClabeAccountExternalAccountInfo` (not found in spec).
Reference/NotFound: Ignored reference `#/components/schemas/PixAccountExternalAccountInfo` (not found in spec).
Reference/NotFound: Ignored reference `#/components/schemas/IbanAccountExternalAccountInfo` (not found in spec).
Reference/NotFound: Ignored reference `#/components/schemas/UpiAccountExternalAccountInfo` (not found in spec).
Reference/NotFound: Ignored reference `#/components/schemas/NgnAccountExternalAccountInfo` (not found in spec).
Reference/NotFound: Ignored reference `#/components/schemas/CadAccountExternalAccountInfo` (not found in spec).
Reference/NotFound: Ignored reference `#/components/schemas/GbpAccountExternalAccountInfo` (not found in spec).
Reference/NotFound: Ignored reference `#/components/schemas/PhpAccountExternalAccountInfo` (not found in spec).
⚠️ grid-kotlin studio · code · diff

There was a regression in your SDK.
generate ❗ (prev: generate ✅) → build ⏳lint ✅test ⏳

New diagnostics (12 error, 13 warning, 34 note)
Transform/Failed: Transform `remove` failed at step `8`.
Reference/NotFound: Ignored reference `#/components/schemas/UsAccountExternalAccountInfo` (not found in spec).
Reference/NotFound: Ignored reference `#/components/schemas/ClabeAccountExternalAccountInfo` (not found in spec).
Reference/NotFound: Ignored reference `#/components/schemas/PixAccountExternalAccountInfo` (not found in spec).
Reference/NotFound: Ignored reference `#/components/schemas/IbanAccountExternalAccountInfo` (not found in spec).
Reference/NotFound: Ignored reference `#/components/schemas/UpiAccountExternalAccountInfo` (not found in spec).
Reference/NotFound: Ignored reference `#/components/schemas/NgnAccountExternalAccountInfo` (not found in spec).
Reference/NotFound: Ignored reference `#/components/schemas/CadAccountExternalAccountInfo` (not found in spec).
Reference/NotFound: Ignored reference `#/components/schemas/GbpAccountExternalAccountInfo` (not found in spec).
Reference/NotFound: Ignored reference `#/components/schemas/PhpAccountExternalAccountInfo` (not found in spec).
grid-python studio

Code was not generated because there was a fatal error.


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-02-12 19:15:19 UTC

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

49 files reviewed, 7 comments

Edit Code Review Agent Settings | Greptile

Comment on lines +1 to +3
allOf:
- $ref: ./BaseExternalAccountInfo.yaml
- $ref: ../common/CadAccountInfo.yaml
Copy link
Contributor

Choose a reason for hiding this comment

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

Missing required beneficiary field. The old CadAccountExternalAccountInfo.yaml requires a beneficiary with $ref: ./BeneficiaryOneOf.yaml. This new file should include:

Suggested change
allOf:
- $ref: ./BaseExternalAccountInfo.yaml
- $ref: ../common/CadAccountInfo.yaml
allOf:
- $ref: ./BaseExternalAccountInfo.yaml
- $ref: ../common/CadAccountInfo.yaml
- type: object
required:
- beneficiary
properties:
beneficiary:
$ref: ./BeneficiaryOneOf.yaml
Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/external_accounts/CadExternalAccountInfo.yaml
Line: 1:3

Comment:
Missing required `beneficiary` field. The old `CadAccountExternalAccountInfo.yaml` requires a beneficiary with `$ref: ./BeneficiaryOneOf.yaml`. This new file should include:

```suggestion
allOf:
- $ref: ./BaseExternalAccountInfo.yaml
- $ref: ../common/CadAccountInfo.yaml
- type: object
  required:
  - beneficiary
  properties:
    beneficiary:
      $ref: ./BeneficiaryOneOf.yaml
```

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

Comment on lines +1 to +3
allOf:
- $ref: ./BaseExternalAccountInfo.yaml
- $ref: ../common/ClabeAccountInfo.yaml
Copy link
Contributor

Choose a reason for hiding this comment

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

Missing required beneficiary field - same issue as CAD, IBAN, NGN, PIX, UPI, and US accounts.

Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/external_accounts/ClabeExternalAccountInfo.yaml
Line: 1:3

Comment:
Missing required `beneficiary` field - same issue as CAD, IBAN, NGN, PIX, UPI, and US accounts.

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

Comment on lines +1 to +3
allOf:
- $ref: ./BaseExternalAccountInfo.yaml
- $ref: ../common/IbanAccountInfo.yaml
Copy link
Contributor

Choose a reason for hiding this comment

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

Missing required beneficiary field - same issue as CAD, CLABE, NGN, PIX, UPI, and US accounts.

Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/external_accounts/IbanExternalAccountInfo.yaml
Line: 1:3

Comment:
Missing required `beneficiary` field - same issue as CAD, CLABE, NGN, PIX, UPI, and US accounts.

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

Comment on lines +1 to +3
allOf:
- $ref: ./BaseExternalAccountInfo.yaml
- $ref: ../common/NgnAccountInfo.yaml
Copy link
Contributor

Choose a reason for hiding this comment

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

Missing required beneficiary field - same issue as CAD, CLABE, IBAN, PIX, UPI, and US accounts.

Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/external_accounts/NgnExternalAccountInfo.yaml
Line: 1:3

Comment:
Missing required `beneficiary` field - same issue as CAD, CLABE, IBAN, PIX, UPI, and US accounts.

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

Comment on lines +1 to +3
allOf:
- $ref: ./BaseExternalAccountInfo.yaml
- $ref: ../common/PixAccountInfo.yaml
Copy link
Contributor

Choose a reason for hiding this comment

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

Missing required beneficiary field - same issue as CAD, CLABE, IBAN, NGN, UPI, and US accounts.

Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/external_accounts/PixExternalAccountInfo.yaml
Line: 1:3

Comment:
Missing required `beneficiary` field - same issue as CAD, CLABE, IBAN, NGN, UPI, and US accounts.

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

Comment on lines +1 to +3
allOf:
- $ref: ./BaseExternalAccountInfo.yaml
- $ref: ../common/UpiAccountInfo.yaml
Copy link
Contributor

Choose a reason for hiding this comment

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

Missing required beneficiary field - same issue as CAD, CLABE, IBAN, NGN, PIX, and US accounts.

Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/external_accounts/UpiExternalAccountInfo.yaml
Line: 1:3

Comment:
Missing required `beneficiary` field - same issue as CAD, CLABE, IBAN, NGN, PIX, and US accounts.

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

Comment on lines +1 to +3
allOf:
- $ref: ./BaseExternalAccountInfo.yaml
- $ref: ../common/UsAccountInfo.yaml
Copy link
Contributor

Choose a reason for hiding this comment

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

Missing required beneficiary field - same issue as CAD, CLABE, IBAN, NGN, PIX, and UPI accounts.

Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/external_accounts/UsExternalAccountInfo.yaml
Line: 1:3

Comment:
Missing required `beneficiary` field - same issue as CAD, CLABE, IBAN, NGN, PIX, and UPI accounts.

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

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