Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
✱ Stainless preview buildsThis PR will update the kotlin openapi python typescript Edit this comment to update them. They will appear in their respective SDK's changelogs. ✅ grid-typescript studio · code · diff
✅ grid-kotlin studio · code · diff
✅ grid-openapi studio · code · diff
✅ grid-python studio · code · diff
This comment is auto-generated by GitHub Actions and is automatically kept up to date as you push. |
Greptile SummaryThis PR syncs 34 Confidence Score: 5/5Safe to merge; all findings are P2 documentation quality issues that do not affect validation logic or API behaviour. All remaining comments are P2 style suggestions (wrong example values) plus one P2 question about the USD phoneNumber required constraint. None of these affect runtime validation or break existing integrations. EgpAccountInfo.yaml, PkrAccountInfo.yaml, DkkAccountInfo.yaml (wrong IBAN examples); MyrAccountInfo.yaml (wrong SWIFT country code in example); UsdAccountInfo.yaml (phoneNumber in required list for all rails).
|
| Filename | Overview |
|---|---|
| openapi/components/schemas/common/UsdAccountInfo.yaml | Adds new MOBILE_MONEY rail and makes phoneNumber a required field for all USD accounts, which is non-standard for domestic transfers |
| openapi/components/schemas/common/EgpAccountInfo.yaml | Refactored from allOf+base to standalone schema; optional iban/swiftCode fields use a German IBAN example instead of an Egyptian one |
| openapi/components/schemas/common/PkrAccountInfo.yaml | Refactored to standalone schema; optional iban field uses a German IBAN example instead of a Pakistani one |
| openapi/components/schemas/common/DkkAccountInfo.yaml | Refactored to standalone schema; iban example uses German IBAN instead of Danish IBAN |
| openapi/components/schemas/common/MyrAccountInfo.yaml | Refactored to standalone schema; swiftCode example MABORUMMYYY contains country code RU (Russia) instead of MY (Malaysia) |
| openapi/components/schemas/common/AedAccountInfo.yaml | Refactored from allOf+base to standalone schema; AED-specific IBAN pattern and SWIFT code constraints look correct |
| openapi/components/schemas/common/BrlAccountInfo.yaml | Refactored to standalone schema with PIX-specific fields; pixKey, pixKeyType, and taxId constraints look correct |
| openapi/components/schemas/common/GbpAccountInfo.yaml | Refactored to standalone schema; UK sort code (6 digits) and account number (8 digits) constraints are correct |
| openapi/components/schemas/common/XafAccountInfo.yaml | Adds new region field with CM/CG enum for CFA franc zone; redundant pattern constraint alongside enum but non-breaking |
| openapi/components/schemas/common/XofAccountInfo.yaml | Adds region field with BJ/CI/SN/TG enum for West African CFA franc zone; redundant pattern constraint alongside enum but non-breaking |
| openapi/components/schemas/common/InrAccountInfo.yaml | Refactored to standalone schema with UPI vpa field; pattern and length constraints look appropriate |
| openapi/components/schemas/common/MxnAccountInfo.yaml | Refactored to standalone schema with CLABE number (18 digits); constraints are correct for Mexican SPEI transfers |
Class Diagram
%%{init: {'theme': 'neutral'}}%%
classDiagram
class AccountInfo {
+accountType: string
+paymentRails: string[]
+currency-specific fields
}
class AccountInfoBase {
+accountType: string
+currency-specific fields
}
class ExternalAccountCreateInfo {
+beneficiary: Beneficiary
}
ExternalAccountCreateInfo --> AccountInfoBase : allOf ref (unchanged)
note for AccountInfo "Previously: allOf + ref AccountInfoBase\nNow: fully inline (this PR)"
Prompt To Fix All With AI
This is a comment left during a code review.
Path: openapi/components/schemas/common/EgpAccountInfo.yaml
Line: 30-31
Comment:
**Wrong IBAN example — German IBAN used for Egypt**
The `iban` example `DE89370400440532013000` is a German IBAN. An Egyptian IBAN starts with `EG` and is 29 characters. Developers using this as a reference will build incorrect integrations. The same copy-paste issue appears in `PkrAccountInfo.yaml` and `DkkAccountInfo.yaml`.
```suggestion
iban:
type: string
description: The IBAN of the bank account
example: EG380019000500000000263180002
minLength: 15
maxLength: 34
pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$
```
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/PkrAccountInfo.yaml
Line: 30-31
Comment:
**Wrong IBAN example — German IBAN used for Pakistan**
Same copy-paste issue as `EgpAccountInfo.yaml`: the example `DE89370400440532013000` is a German IBAN. Pakistani IBANs start with `PK` and are 24 characters (e.g., `PK36SCBL0000001123456702`).
```suggestion
iban:
type: string
description: The IBAN of the bank account
example: PK36SCBL0000001123456702
minLength: 15
maxLength: 34
pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$
```
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/DkkAccountInfo.yaml
Line: 19-20
Comment:
**IBAN example is German, not Danish**
The example `DE89370400440532013000` is a 22-character German IBAN. Danish IBANs start with `DK` and are 18 characters. Consumers of this API doc may attempt to validate or test with a wrong-length IBAN.
```suggestion
iban:
type: string
description: The IBAN of the bank account
example: DK5000400440116243
minLength: 15
maxLength: 34
pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$
```
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/MyrAccountInfo.yaml
Line: 30-31
Comment:
**SWIFT example has wrong country code for Malaysia**
`MABORUMMYYY` contains `RU` in the country-code position (characters 5–6) — that's Russia's ISO code, not Malaysia's (`MY`). Malaysian SWIFT codes should look like `MBBEMYKL` (Maybank). The pattern `^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$` won't catch this because it doesn't validate country codes.
```suggestion
swiftCode:
type: string
description: The SWIFT/BIC code of the bank
example: MBBEMYKL
minLength: 8
maxLength: 11
pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
```
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/UsdAccountInfo.yaml
Line: 6-8
Comment:
**`phoneNumber` required for all USD payment rails**
`phoneNumber` is in the top-level `required` array, so it is mandatory even for pure domestic transfers (ACH, Wire, RTP, FedNow) where a phone number is not a banking requirement. If a USD bank account record in sparkcore can omit `phoneNumber` for those rails, API consumers receiving such a response will encounter a validation mismatch. Is this field only relevant for the new `MOBILE_MONEY` rail? If so, it should be optional (remove from `required`) with a note that it is required when `paymentRails` includes `MOBILE_MONEY`.
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
| description: The IBAN of the bank account | ||
| example: DE89370400440532013000 |
There was a problem hiding this comment.
Wrong IBAN example — German IBAN used for Egypt
The iban example DE89370400440532013000 is a German IBAN. An Egyptian IBAN starts with EG and is 29 characters. Developers using this as a reference will build incorrect integrations. The same copy-paste issue appears in PkrAccountInfo.yaml and DkkAccountInfo.yaml.
| description: The IBAN of the bank account | |
| example: DE89370400440532013000 | |
| iban: | |
| type: string | |
| description: The IBAN of the bank account | |
| example: EG380019000500000000263180002 | |
| minLength: 15 | |
| maxLength: 34 | |
| pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$ |
Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/common/EgpAccountInfo.yaml
Line: 30-31
Comment:
**Wrong IBAN example — German IBAN used for Egypt**
The `iban` example `DE89370400440532013000` is a German IBAN. An Egyptian IBAN starts with `EG` and is 29 characters. Developers using this as a reference will build incorrect integrations. The same copy-paste issue appears in `PkrAccountInfo.yaml` and `DkkAccountInfo.yaml`.
```suggestion
iban:
type: string
description: The IBAN of the bank account
example: EG380019000500000000263180002
minLength: 15
maxLength: 34
pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$
```
How can I resolve this? If you propose a fix, please make it concise.| iban: | ||
| type: string |
There was a problem hiding this comment.
Wrong IBAN example — German IBAN used for Pakistan
Same copy-paste issue as EgpAccountInfo.yaml: the example DE89370400440532013000 is a German IBAN. Pakistani IBANs start with PK and are 24 characters (e.g., PK36SCBL0000001123456702).
| iban: | |
| type: string | |
| iban: | |
| type: string | |
| description: The IBAN of the bank account | |
| example: PK36SCBL0000001123456702 | |
| minLength: 15 | |
| maxLength: 34 | |
| pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$ |
Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/common/PkrAccountInfo.yaml
Line: 30-31
Comment:
**Wrong IBAN example — German IBAN used for Pakistan**
Same copy-paste issue as `EgpAccountInfo.yaml`: the example `DE89370400440532013000` is a German IBAN. Pakistani IBANs start with `PK` and are 24 characters (e.g., `PK36SCBL0000001123456702`).
```suggestion
iban:
type: string
description: The IBAN of the bank account
example: PK36SCBL0000001123456702
minLength: 15
maxLength: 34
pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$
```
How can I resolve this? If you propose a fix, please make it concise.| type: string | ||
| description: The IBAN of the bank account |
There was a problem hiding this comment.
IBAN example is German, not Danish
The example DE89370400440532013000 is a 22-character German IBAN. Danish IBANs start with DK and are 18 characters. Consumers of this API doc may attempt to validate or test with a wrong-length IBAN.
| type: string | |
| description: The IBAN of the bank account | |
| iban: | |
| type: string | |
| description: The IBAN of the bank account | |
| example: DK5000400440116243 | |
| minLength: 15 | |
| maxLength: 34 | |
| pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$ |
Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/common/DkkAccountInfo.yaml
Line: 19-20
Comment:
**IBAN example is German, not Danish**
The example `DE89370400440532013000` is a 22-character German IBAN. Danish IBANs start with `DK` and are 18 characters. Consumers of this API doc may attempt to validate or test with a wrong-length IBAN.
```suggestion
iban:
type: string
description: The IBAN of the bank account
example: DK5000400440116243
minLength: 15
maxLength: 34
pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$
```
How can I resolve this? If you propose a fix, please make it concise.| swiftCode: | ||
| type: string |
There was a problem hiding this comment.
SWIFT example has wrong country code for Malaysia
MABORUMMYYY contains RU in the country-code position (characters 5–6) — that's Russia's ISO code, not Malaysia's (MY). Malaysian SWIFT codes should look like MBBEMYKL (Maybank). The pattern ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ won't catch this because it doesn't validate country codes.
| swiftCode: | |
| type: string | |
| swiftCode: | |
| type: string | |
| description: The SWIFT/BIC code of the bank | |
| example: MBBEMYKL | |
| minLength: 8 | |
| maxLength: 11 | |
| pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$ |
Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/common/MyrAccountInfo.yaml
Line: 30-31
Comment:
**SWIFT example has wrong country code for Malaysia**
`MABORUMMYYY` contains `RU` in the country-code position (characters 5–6) — that's Russia's ISO code, not Malaysia's (`MY`). Malaysian SWIFT codes should look like `MBBEMYKL` (Maybank). The pattern `^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$` won't catch this because it doesn't validate country codes.
```suggestion
swiftCode:
type: string
description: The SWIFT/BIC code of the bank
example: MBBEMYKL
minLength: 8
maxLength: 11
pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
```
How can I resolve this? If you propose a fix, please make it concise.| - routingNumber | ||
| - bankName | ||
| - phoneNumber |
There was a problem hiding this comment.
phoneNumber required for all USD payment rails
phoneNumber is in the top-level required array, so it is mandatory even for pure domestic transfers (ACH, Wire, RTP, FedNow) where a phone number is not a banking requirement. If a USD bank account record in sparkcore can omit phoneNumber for those rails, API consumers receiving such a response will encounter a validation mismatch. Is this field only relevant for the new MOBILE_MONEY rail? If so, it should be optional (remove from required) with a note that it is required when paymentRails includes MOBILE_MONEY.
Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/common/UsdAccountInfo.yaml
Line: 6-8
Comment:
**`phoneNumber` required for all USD payment rails**
`phoneNumber` is in the top-level `required` array, so it is mandatory even for pure domestic transfers (ACH, Wire, RTP, FedNow) where a phone number is not a banking requirement. If a USD bank account record in sparkcore can omit `phoneNumber` for those rails, API consumers receiving such a response will encounter a validation mismatch. Is this field only relevant for the new `MOBILE_MONEY` rail? If so, it should be optional (remove from `required`) with a note that it is required when `paymentRails` includes `MOBILE_MONEY`.
How can I resolve this? If you propose a fix, please make it concise.|
Superseded by #353 |
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.