Skip to content

chore: Sync account schemas#625

Open
lightspark-copybara[bot] wants to merge 1 commit into
mainfrom
auto/sync-grid-schemas-20260626-180352
Open

chore: Sync account schemas#625
lightspark-copybara[bot] wants to merge 1 commit into
mainfrom
auto/sync-grid-schemas-20260626-180352

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 Jun 26, 2026

Copy link
Copy Markdown

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

2 Skipped Deployments
Project Deployment Actions Updated (UTC)
grid-flow-builder Ignored Ignored Preview Jun 26, 2026 6:04pm
grid-wallet-demo Ignored Ignored Preview Jun 26, 2026 6:04pm

Request Review

@github-actions github-actions Bot added the breaking-change Introduces a breaking change to the OpenAPI spec label Jun 26, 2026
@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Breaking OpenAPI changes detected

This PR introduces breaking changes to openapi.yaml:

API Changelog 2025-10-13 vs. 2025-10-13

API Changes

POST /agents/me/external-accounts

  • ⚠️ added the new required request property allOf[subschema #1]/accountInfo/oneOf[subschema #13: GTQ Account]/allOf[#/components/schemas/GtqAccountInfoBase]/bankName
  • ⚠️ added the new required request property allOf[subschema #1]/accountInfo/oneOf[subschema #18: JMD Account]/allOf[#/components/schemas/JmdAccountInfoBase]/bankName

POST /customers/external-accounts

  • ⚠️ added the new required request property allOf[subschema #1]/accountInfo/oneOf[subschema #13: GTQ Account]/allOf[#/components/schemas/GtqAccountInfoBase]/bankName
  • ⚠️ added the new required request property allOf[subschema #1]/accountInfo/oneOf[subschema #18: JMD Account]/allOf[#/components/schemas/JmdAccountInfoBase]/bankName

POST /platform/external-accounts

  • ⚠️ added the new required request property accountInfo/oneOf[subschema #13: GTQ Account]/allOf[#/components/schemas/GtqAccountInfoBase]/bankName
  • ⚠️ added the new required request property accountInfo/oneOf[subschema #18: JMD Account]/allOf[#/components/schemas/JmdAccountInfoBase]/bankName

POST webhook:agent-action

  • ⚠️ added the new required request property allOf[subschema #2]/data/quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #33: GTQ Account]/allOf[#/components/schemas/GtqAccountInfo]/allOf[#/components/schemas/GtqAccountInfoBase]/bankName
  • ⚠️ added the new required request property allOf[subschema #2]/data/quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #35: JMD Account]/allOf[#/components/schemas/JmdAccountInfo]/allOf[#/components/schemas/JmdAccountInfoBase]/bankName
  • ⚠️ added the new required request property allOf[subschema #2]/data/transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #33: GTQ Account]/allOf[#/components/schemas/GtqAccountInfo]/allOf[#/components/schemas/GtqAccountInfoBase]/bankName
  • ⚠️ added the new required request property allOf[subschema #2]/data/transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #35: JMD Account]/allOf[#/components/schemas/JmdAccountInfo]/allOf[#/components/schemas/JmdAccountInfoBase]/bankName

POST webhook:internal-account-status

  • ⚠️ added the new required request property allOf[subschema #2]/data/fundingPaymentInstructions/items/accountOrWalletInfo/oneOf[subschema #33: GTQ Account]/allOf[#/components/schemas/GtqAccountInfo]/allOf[#/components/schemas/GtqAccountInfoBase]/bankName
  • ⚠️ added the new required request property allOf[subschema #2]/data/fundingPaymentInstructions/items/accountOrWalletInfo/oneOf[subschema #35: JMD Account]/allOf[#/components/schemas/JmdAccountInfo]/allOf[#/components/schemas/JmdAccountInfoBase]/bankName

POST webhook:outgoing-payment

  • ⚠️ added the new required request property allOf[subschema #2]/data/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #33: GTQ Account]/allOf[#/components/schemas/GtqAccountInfo]/allOf[#/components/schemas/GtqAccountInfoBase]/bankName
  • ⚠️ added the new required request property allOf[subschema #2]/data/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #35: JMD Account]/allOf[#/components/schemas/JmdAccountInfo]/allOf[#/components/schemas/JmdAccountInfoBase]/bankName

Detected by oasdiff. This PR will need approval from an API reviewer before merge.

@github-actions

github-actions Bot commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

✱ Stainless preview builds for grid

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

cli

chore(internal): regenerate SDK with no functional changes

csharp

feat(api): add BankName field to GTQ and JMD external account types

go

feat(api): add BankName field to GTQ/JMD external account creation

kotlin

feat(api): add bankName field to Gtq/Jmd external account models

openapi

feat(api): add bankName field to GtqAccountInfoBase and JmdAccountInfoBase

php

feat(api): add bankName field to Gtq/Jmd external account models

python

feat(api): add bank_name field to gtq/jmd external account create info

ruby

feat(api): add bank_name field to gtq/jmd external and platform account models

typescript

feat(api): add bankName field to GTQ_ACCOUNT and JMD_ACCOUNT

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 "note" diagnostic, but this did not represent a regression.
generate ✅

grid-ruby studio · code · diff

Your SDK build had at least one "note" diagnostic, but this did not represent a regression.
generate ✅build ✅lint ✅test ✅

grid-go studio · code · diff

Your SDK build had at least one "note" diagnostic, but this did not represent a regression.
generate ✅build ✅lint ❗test ❗

go get github.com/stainless-sdks/grid-go@cc4e9c64df7dc93cacf459fe6a66c7c7c0c8fe53
grid-typescript studio · code · diff

Your SDK build had at least one "note" diagnostic, but this did not represent a regression.
generate ✅build ✅lint ✅test ✅

npm install https://pkg.stainless.com/s/grid-typescript/c2ca6cb2d2c2d1f7119c0815528f3e49bace792a/dist.tar.gz
grid-kotlin studio · code · diff

Your SDK build had at least one "note" diagnostic, but this did not represent a regression.
generate ✅build ✅lint ✅test ✅

grid-python studio · code · diff

Your SDK build had at least one "note" diagnostic, but this did not represent a regression.
generate ✅build ✅lint ❗test ❗

pip install https://pkg.stainless.com/s/grid-python/5dfcd3aea0e1d68cffc4c7f67959de7d11377e22/grid-0.0.1-py3-none-any.whl
grid-csharp studio · code · diff

Your SDK build had at least one "warning" diagnostic, but this did not represent a regression.
generate ⚠️build ❗lint ✅test ❗

grid-php studio · code · diff

Your SDK build had at least one "note" diagnostic, but this did not represent a regression.
generate ✅lint ✅test ✅

grid-cli studio · code · diff

Your SDK build had at least one "warning" diagnostic, but this did not represent a regression.
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-06-26 18:09:57 UTC

@greptile-apps

greptile-apps Bot commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

Adds bankName as a new required field to the GTQ (Guatemalan Quetzal) and JMD (Jamaican Dollar) account info base schemas, synced from VASP adapter field definitions in sparkcore. All four changed files (GtqAccountInfoBase.yaml, JmdAccountInfoBase.yaml, and their two bundled counterparts) are internally consistent with the established pattern used in other currency schemas (PHP, SGD, CNY, etc.).

  • bankName is added to the required array and properties section of both GtqAccountInfoBase.yaml and JmdAccountInfoBase.yaml, with minLength: 1 and maxLength: 255 matching sibling schemas.
  • openapi.yaml and mintlify/openapi.yaml are updated identically — no drift between the two bundled files.

Confidence Score: 4/5

Schema changes are internally consistent and match established patterns; the main concern is that making bankName required is a backward-incompatible change that could break existing GTQ/JMD callers if not coordinated.

The field definition, constraints, and examples are all correct and consistent with the rest of the common schema library. However, adding a new required field to existing request schemas means any API consumer that currently omits bankName will begin receiving validation failures. Whether those callers have already been updated is not visible from this diff alone.

GtqAccountInfoBase.yaml and JmdAccountInfoBase.yaml — specifically the backward-compatibility implications of the new required field for existing callers.

Important Files Changed

Filename Overview
openapi/components/schemas/common/GtqAccountInfoBase.yaml Adds bankName as a required field consistent with other currency AccountInfoBase schemas (e.g., PHP, SGD, CNY); constraints (minLength 1, maxLength 255) match the established pattern.
openapi/components/schemas/common/JmdAccountInfoBase.yaml Adds bankName as a required field; mirrors the same change made to GtqAccountInfoBase.yaml and is consistent with the rest of the common schema library.
openapi.yaml Bundled/flattened OpenAPI spec updated with the same bankName additions for GtqAccountInfoBase and JmdAccountInfoBase; changes are consistent between the two schema files.
mintlify/openapi.yaml Mintlify-facing bundled spec updated identically to openapi.yaml; no discrepancies between the two bundled files.

Entity Relationship Diagram

%%{init: {'theme': 'neutral'}}%%
erDiagram
    GtqAccountInfoBase {
        string accountType "enum: GTQ_ACCOUNT"
        string accountNumber "minLength:1 maxLength:34"
        string bankAccountType "enum: CHECKING|SAVINGS"
        string bankName "NEW minLength:1 maxLength:255"
    }
    GtqAccountInfo {
        array paymentRails "enum: BANK_TRANSFER"
    }
    GtqAccountInfo ||--|| GtqAccountInfoBase : "allOf"

    JmdAccountInfoBase {
        string accountType "enum: JMD_ACCOUNT"
        string accountNumber "minLength:1 maxLength:34"
        string branchCode "pattern: ^[0-9]{5}$"
        string bankAccountType "enum: CHECKING|SAVINGS"
        string bankName "NEW minLength:1 maxLength:255"
    }
    JmdAccountInfo {
        array paymentRails "enum: BANK_TRANSFER"
    }
    JmdAccountInfo ||--|| JmdAccountInfoBase : "allOf"
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
erDiagram
    GtqAccountInfoBase {
        string accountType "enum: GTQ_ACCOUNT"
        string accountNumber "minLength:1 maxLength:34"
        string bankAccountType "enum: CHECKING|SAVINGS"
        string bankName "NEW minLength:1 maxLength:255"
    }
    GtqAccountInfo {
        array paymentRails "enum: BANK_TRANSFER"
    }
    GtqAccountInfo ||--|| GtqAccountInfoBase : "allOf"

    JmdAccountInfoBase {
        string accountType "enum: JMD_ACCOUNT"
        string accountNumber "minLength:1 maxLength:34"
        string branchCode "pattern: ^[0-9]{5}$"
        string bankAccountType "enum: CHECKING|SAVINGS"
        string bankName "NEW minLength:1 maxLength:255"
    }
    JmdAccountInfo {
        array paymentRails "enum: BANK_TRANSFER"
    }
    JmdAccountInfo ||--|| JmdAccountInfoBase : "allOf"
Loading
Prompt To Fix All With AI
Fix the following 1 code review issue. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 1
openapi/components/schemas/common/GtqAccountInfoBase.yaml:6
**Breaking change — `bankName` is now required for GTQ and JMD accounts**

Adding `bankName` to the `required` array is a backward-incompatible change for any existing API consumers that currently submit GTQ or JMD account payloads without this field. Callers who have already stored or cached payloads without `bankName` will start receiving validation errors. The same applies to `JmdAccountInfoBase.yaml`. Please confirm this is intentional and that downstream VASP adapters / existing integrations have been updated (or will be updated atomically) before this schema is deployed.

Reviews (1): Last reviewed commit: "chore: Sync account schemas" | Re-trigger Greptile

- accountType
- accountNumber
- bankAccountType
- bankName

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 — bankName is now required for GTQ and JMD accounts

Adding bankName to the required array is a backward-incompatible change for any existing API consumers that currently submit GTQ or JMD account payloads without this field. Callers who have already stored or cached payloads without bankName will start receiving validation errors. The same applies to JmdAccountInfoBase.yaml. Please confirm this is intentional and that downstream VASP adapters / existing integrations have been updated (or will be updated atomically) before this schema is deployed.

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

Comment:
**Breaking change — `bankName` is now required for GTQ and JMD accounts**

Adding `bankName` to the `required` array is a backward-incompatible change for any existing API consumers that currently submit GTQ or JMD account payloads without this field. Callers who have already stored or cached payloads without `bankName` will start receiving validation errors. The same applies to `JmdAccountInfoBase.yaml`. Please confirm this is intentional and that downstream VASP adapters / existing integrations have been updated (or will be updated atomically) before this schema is deployed.

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!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking-change Introduces a breaking change to the OpenAPI spec

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants