Skip to content

feat: adding external account validation schema#206

Merged
pengying merged 1 commit intomainfrom
02-18-feat_adding_external_account_validation_schema
Feb 19, 2026
Merged

feat: adding external account validation schema#206
pengying merged 1 commit intomainfrom
02-18-feat_adding_external_account_validation_schema

Conversation

@pengying
Copy link
Contributor

@pengying pengying commented Feb 19, 2026

TL;DR

Added beneficiary name verification fields to the External Account schema.

What changed?

  • Added a new BeneficiaryVerificationStatus enum with values: MATCHED, PARTIAL_MATCH, NOT_MATCHED, UNSUPPORTED, CHECKED_BY_RECEIVING_FI, and PENDING
  • Added a new VerifiedBeneficiaryData object schema with a fullName property
  • Extended the ExternalAccount schema to include:
    • beneficiaryVerificationStatus field to indicate the result of name verification
    • beneficiaryVerifiedData field to store verified account holder information

How to test?

  1. Create an external account with a beneficiary name
  2. Verify that the API returns the appropriate verification status and verified data
  3. Test each possible verification status to ensure proper handling

Why make this change?

This change enables beneficiary name verification for external accounts, which helps prevent misdirected payments by confirming that the account holder name matches the expected beneficiary. This feature enhances security and reduces the risk of fraud or errors when sending payments to external accounts.

Copy link
Contributor Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@pengying pengying marked this pull request as ready for review February 19, 2026 00:40
@github-actions
Copy link

github-actions bot commented Feb 19, 2026

✱ Stainless preview builds

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

kotlin

feat: adding external account validation schema

openapi

feat(api): add beneficiary verification fields to external accounts

python

feat(api): add beneficiary verification fields to external_account

typescript

feat(api): add beneficiary verification fields to ExternalAccount
grid-openapi studio · code

Your SDK built successfully.
generate ✅

grid-python studio · code

Your SDK built successfully.
generate ✅build ✅lint ✅test ✅

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

Your SDK built successfully.
generate ✅build ✅lint ✅test ✅

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

Your SDK built successfully.
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-02-19 04:29:49 UTC

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Feb 19, 2026

Greptile Summary

This PR adds beneficiary name verification support to the External Account schema. Two new optional fields (beneficiaryVerificationStatus and beneficiaryVerifiedData) allow the API to return verification results when payment rails support name matching.

Key Changes:

  • New BeneficiaryVerificationStatus enum with 6 states covering all verification scenarios (exact match, partial match, no match, unsupported, deferred to FI, and pending)
  • New BeneficiaryVerifiedData object to store the verified account holder name from payment rails
  • Both fields added as optional properties to ExternalAccount schema
  • Bundled specs (openapi.yaml and mintlify/openapi.yaml) correctly updated

Implementation Quality:

  • Schema follows existing patterns and conventions in the codebase
  • Comprehensive enum values handle all verification states appropriately
  • Clear, well-documented descriptions with inline table explaining each status
  • Fields are correctly marked as optional (not in required array), appropriate since not all payment rails support verification
  • No breaking changes - backward compatible addition

Confidence Score: 5/5

  • This PR is safe to merge with no risk
  • The changes are purely additive to the OpenAPI schema with no breaking changes. Both new fields are optional, maintaining backward compatibility. The implementation follows existing patterns, includes comprehensive documentation, and the bundled specs are correctly updated. No logic changes or code modifications that could introduce runtime issues.
  • No files require special attention

Important Files Changed

Filename Overview
openapi/components/schemas/external_accounts/BeneficiaryVerificationStatus.yaml New enum defining beneficiary name verification status with clear documentation
openapi/components/schemas/external_accounts/BeneficiaryVerifiedData.yaml New object schema containing verified account holder name from payment rail
openapi/components/schemas/external_accounts/ExternalAccount.yaml Added two optional fields for beneficiary verification status and verified data

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[External Account Created] --> B{Payment Rail Supports<br/>Name Verification?}
    B -->|No| C[Status: UNSUPPORTED]
    B -->|Yes| D{Verification Method}
    D -->|Immediate Check| E{Name Match Result}
    D -->|Deferred to FI| F[Status: CHECKED_BY_RECEIVING_FI]
    D -->|Async Process| G[Status: PENDING]
    E -->|Exact Match| H[Status: MATCHED]
    E -->|Similar Match| I[Status: PARTIAL_MATCH]
    E -->|No Match| J[Status: NOT_MATCHED]
    H --> K[Store Verified Data]
    I --> K
    J --> K
    G --> L{Async Verification<br/>Complete}
    L --> E
    K --> M[Return ExternalAccount<br/>with Verification Status]
    C --> M
    F --> M
Loading

Last reviewed commit: ef766e0

@pengying pengying force-pushed the 02-18-feat_adding_external_account_validation_schema branch from b7f21a5 to ef766e0 Compare February 19, 2026 00:42
Copy link
Contributor Author

pengying commented Feb 19, 2026

Merge activity

  • Feb 19, 4:22 AM UTC: A user started a stack merge that includes this pull request via Graphite.
  • Feb 19, 4:22 AM UTC: @pengying merged this pull request with Graphite.

@pengying pengying merged commit c1938e1 into main Feb 19, 2026
9 of 10 checks passed
@pengying pengying deleted the 02-18-feat_adding_external_account_validation_schema branch February 19, 2026 04:22
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.

2 participants

Comments