Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,814 changes: 1,272 additions & 542 deletions mintlify/openapi.yaml

Large diffs are not rendered by default.

1,814 changes: 1,272 additions & 542 deletions openapi.yaml

Large diffs are not rendered by default.

42 changes: 30 additions & 12 deletions openapi/components/schemas/common/AedAccountInfo.yaml
Original file line number Diff line number Diff line change
@@ -1,12 +1,30 @@
allOf:
- $ref: ./AedAccountInfoBase.yaml
- type: object
required:
- paymentRails
properties:
paymentRails:
type: array
items:
type: string
enum:
- BANK_TRANSFER
type: object
required:
- accountType
- paymentRails
- iban
properties:
accountType:
type: string
enum:
- AED_ACCOUNT
paymentRails:
type: array
items:
type: string
enum:
- BANK_TRANSFER
iban:
type: string
description: UAE IBAN (23 characters, starting with AE)
example: AE070331234567890123456
minLength: 23
maxLength: 23
pattern: ^AE[0-9]{21}$
swiftCode:
type: string
description: The SWIFT/BIC code of the bank
example: EBILAEAD
minLength: 8
maxLength: 11
pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
63 changes: 50 additions & 13 deletions openapi/components/schemas/common/BdtAccountInfo.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,50 @@
allOf:
- $ref: ./BdtAccountInfoBase.yaml
- type: object
required:
- paymentRails
properties:
paymentRails:
type: array
items:
type: string
enum:
- BANK_TRANSFER
- MOBILE_MONEY
type: object
required:
- accountType
- paymentRails
- bankName
- accountNumber
- branchCode
- phoneNumber
properties:
accountType:
type: string
enum:
- BDT_ACCOUNT
paymentRails:
type: array
items:
type: string
enum:
- BANK_TRANSFER
- MOBILE_MONEY
bankName:
type: string
description: The name of the bank
minLength: 1
maxLength: 255
accountNumber:
type: string
description: The account number of the bank
minLength: 1
maxLength: 34
branchCode:
type: string
description: The branch code
minLength: 5
maxLength: 5
pattern: ^[0-9]{5}$
swiftCode:
type: string
description: The SWIFT/BIC code of the bank
example: DEUTDEFF
minLength: 8
maxLength: 11
pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
phoneNumber:
type: string
description: The phone number in international format
example: '+1234567890'
minLength: 7
maxLength: 15
pattern: ^\+[0-9]{6,14}$
50 changes: 38 additions & 12 deletions openapi/components/schemas/common/BrlAccountInfo.yaml
Original file line number Diff line number Diff line change
@@ -1,12 +1,38 @@
allOf:
- $ref: ./BrlAccountInfoBase.yaml
- type: object
required:
- paymentRails
properties:
paymentRails:
type: array
items:
type: string
enum:
- PIX
type: object
required:
- accountType
- paymentRails
- pixKey
- pixKeyType
- taxId
properties:
accountType:
type: string
enum:
- BRL_ACCOUNT
paymentRails:
type: array
items:
type: string
enum:
- PIX
pixKey:
type: string
description: The PIX key (email, phone, CPF, CNPJ, or random)
minLength: 1
maxLength: 77
pixKeyType:
type: string
description: The type of PIX key
enum:
- CPF
- CNPJ
- EMAIL
- PHONE
- RANDOM
taxId:
type: string
description: The tax ID (CPF or CNPJ)
minLength: 11
maxLength: 14
pattern: ^[0-9]{11,14}$
41 changes: 29 additions & 12 deletions openapi/components/schemas/common/BwpAccountInfo.yaml
Original file line number Diff line number Diff line change
@@ -1,12 +1,29 @@
allOf:
- $ref: ./BwpAccountInfoBase.yaml
- type: object
required:
- paymentRails
properties:
paymentRails:
type: array
items:
type: string
enum:
- MOBILE_MONEY
type: object
required:
- accountType
- paymentRails
- phoneNumber
- provider
properties:
accountType:
type: string
enum:
- BWP_ACCOUNT
paymentRails:
type: array
items:
type: string
enum:
- MOBILE_MONEY
phoneNumber:
type: string
description: The phone number in international format
example: '+1234567890'
minLength: 7
maxLength: 15
pattern: ^\+[0-9]{6,14}$
provider:
type: string
description: The mobile money provider name
minLength: 1
maxLength: 255
47 changes: 34 additions & 13 deletions openapi/components/schemas/common/CopAccountInfo.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,34 @@
allOf:
- $ref: ./CopAccountInfoBase.yaml
- type: object
required:
- paymentRails
properties:
paymentRails:
type: array
items:
type: string
enum:
- BANK_TRANSFER
- MOBILE_MONEY
type: object
required:
- accountType
- paymentRails
- bankName
- accountNumber
- bankAccountType
properties:
accountType:
type: string
enum:
- COP_ACCOUNT
paymentRails:
type: array
items:
type: string
enum:
- BANK_TRANSFER
Comment on lines +15 to +18

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 MOBILE_MONEY removed from COP and GTQ payment rails

Both CopAccountInfo and GtqAccountInfo previously allowed MOBILE_MONEY alongside BANK_TRANSFER; the new schemas only list BANK_TRANSFER. Clients that currently submit COP or GTQ payments via MOBILE_MONEY will fail schema validation after this change. Please confirm whether the corresponding sparkcore adapters have intentionally dropped this rail.

Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/common/CopAccountInfo.yaml
Line: 15-18

Comment:
**`MOBILE_MONEY` removed from COP and GTQ payment rails**

Both `CopAccountInfo` and `GtqAccountInfo` previously allowed `MOBILE_MONEY` alongside `BANK_TRANSFER`; the new schemas only list `BANK_TRANSFER`. Clients that currently submit COP or GTQ payments via `MOBILE_MONEY` will fail schema validation after this change. Please confirm whether the corresponding sparkcore adapters have intentionally dropped this rail.

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

Fix in Claude Code

bankName:
type: string
description: The name of the bank
minLength: 1
maxLength: 255
accountNumber:
type: string
description: The account number of the bank
minLength: 1
maxLength: 34
bankAccountType:
type: string
description: The bank account type
enum:
- CHECKING
- SAVINGS
7 changes: 4 additions & 3 deletions openapi/components/schemas/common/CopBeneficiary.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ title: Individual Beneficiary
type: object
required:
- beneficiaryType
- countryOfResidence
- documentNumber
- documentType
- fullName
Comment on lines 3 to 7

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 required-field change in CopBeneficiary

countryOfResidence is dropped from required and documentNumber + documentType are added as required. Any existing client that creates a COP beneficiary without providing a document number/type will now receive a validation error. Similarly, GtqBeneficiary gains phoneNumber as a new required field. If existing integrations are in production, this is a breaking API change that warrants a version bump or a migration window.

Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/common/CopBeneficiary.yaml
Line: 3-7

Comment:
**Breaking required-field change in `CopBeneficiary`**

`countryOfResidence` is dropped from `required` and `documentNumber` + `documentType` are added as required. Any existing client that creates a COP beneficiary without providing a document number/type will now receive a validation error. Similarly, `GtqBeneficiary` gains `phoneNumber` as a new required field. If existing integrations are in production, this is a breaking API change that warrants a version bump or a migration window.

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

Fix in Claude Code

properties:
beneficiaryType:
Expand All @@ -27,11 +28,11 @@ properties:
countryOfResidence:
type: string
description: The country of residence of the beneficiary
address:
$ref: ./Address.yaml
documentType:
type: string
description: The type of identity document (e.g., national ID, passport)
documentNumber:
type: string
description: The identity document number
address:
$ref: ./Address.yaml
44 changes: 31 additions & 13 deletions openapi/components/schemas/common/DkkAccountInfo.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,31 @@
allOf:
- $ref: ./DkkAccountInfoBase.yaml
- type: object
required:
- paymentRails
properties:
paymentRails:
type: array
items:
type: string
enum:
- SEPA
- SEPA_INSTANT
type: object
required:
- accountType
- paymentRails
- iban
properties:
accountType:
type: string
enum:
- DKK_ACCOUNT
paymentRails:
type: array
items:
type: string
enum:
- SEPA
- SEPA_INSTANT
iban:
type: string
description: The IBAN of the bank account
example: DE89370400440532013000
minLength: 15
maxLength: 34
pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$
swiftCode:
type: string
description: The SWIFT/BIC code of the bank
example: DEUTDEFF
minLength: 8
maxLength: 11
pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
53 changes: 41 additions & 12 deletions openapi/components/schemas/common/EgpAccountInfo.yaml
Original file line number Diff line number Diff line change
@@ -1,12 +1,41 @@
allOf:
- $ref: ./EgpAccountInfoBase.yaml
- type: object
required:
- paymentRails
properties:
paymentRails:
type: array
items:
type: string
enum:
- BANK_TRANSFER
type: object
required:
- accountType
- paymentRails
- bankName
- accountNumber
properties:
accountType:
type: string
enum:
- EGP_ACCOUNT
paymentRails:
type: array
items:
type: string
enum:
- BANK_TRANSFER
bankName:
type: string
description: The name of the bank
minLength: 1
maxLength: 255
accountNumber:
type: string
description: The account number of the bank
minLength: 1
maxLength: 34
iban:
type: string
description: The IBAN of the bank account
example: DE89370400440532013000
minLength: 15
maxLength: 34
pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$
swiftCode:
Comment on lines +28 to +35

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.

P2 Incorrect IBAN example for EGP

The iban field shows DE89370400440532013000, which is a German IBAN. Egyptian IBANs follow the format EG + 2 check digits + 25 alphanumeric characters (29 chars total). The same German placeholder also appears in DkkAccountInfo.yaml (DKK IBANs start with DK). Using country-appropriate examples improves clarity for integrators.

Suggested change
iban:
type: string
description: The IBAN of the bank account
example: DE89370400440532013000
minLength: 15
maxLength: 34
pattern: ^[A-Z]{2}[0-9]{2}[A-Za-z0-9]{11,30}$
swiftCode:
iban:
type: string
description: The IBAN of the bank account
example: EG800002000156789012345180002
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: 28-35

Comment:
**Incorrect IBAN example for EGP**

The `iban` field shows `DE89370400440532013000`, which is a German IBAN. Egyptian IBANs follow the format `EG` + 2 check digits + 25 alphanumeric characters (29 chars total). The same German placeholder also appears in `DkkAccountInfo.yaml` (DKK IBANs start with `DK`). Using country-appropriate examples improves clarity for integrators.

```suggestion
  iban:
    type: string
    description: The IBAN of the bank account
    example: EG800002000156789012345180002
    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.

Fix in Claude Code

type: string
description: The SWIFT/BIC code of the bank
example: DEUTDEFF
minLength: 8
maxLength: 11
pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
Loading
Loading