Skip to content

Commit 3852595

Browse files
EC2 Default Userclaude
andcommitted
[Hurlicane-Aary] split external account request and response schemas for paymentRails
Remove paymentRails from the create external account request schema while keeping it in the response. Each common *AccountInfo is now split into a *AccountInfoBase (without paymentRails) and *AccountInfo (allOf composition with paymentRails). Request schemas reference *AccountInfoBase via new *ExternalAccountCreateInfo files, while response schemas still use the full *AccountInfo with paymentRails. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 56fabb7 commit 3852595

88 files changed

Lines changed: 3645 additions & 1387 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

mintlify/openapi.yaml

Lines changed: 1024 additions & 253 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

openapi.yaml

Lines changed: 1024 additions & 253 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 12 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,12 @@
1-
type: object
2-
required:
3-
- accountType
4-
- paymentRails
5-
- iban
6-
properties:
7-
accountType:
8-
type: string
9-
enum:
10-
- AED_ACCOUNT
11-
paymentRails:
12-
type: array
13-
items:
14-
type: string
15-
enum:
16-
- BANK_TRANSFER
17-
iban:
18-
type: string
19-
description: UAE IBAN (23 characters, starting with AE)
20-
example: AE070331234567890123456
21-
minLength: 23
22-
maxLength: 23
23-
pattern: ^AE[0-9]{21}$
24-
swiftCode:
25-
type: string
26-
description: The SWIFT/BIC code of the bank
27-
example: EBILAEAD
28-
minLength: 8
29-
maxLength: 11
30-
pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
1+
allOf:
2+
- $ref: ./AedAccountInfoBase.yaml
3+
- type: object
4+
required:
5+
- paymentRails
6+
properties:
7+
paymentRails:
8+
type: array
9+
items:
10+
type: string
11+
enum:
12+
- BANK_TRANSFER
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
type: object
2+
required:
3+
- accountType
4+
- iban
5+
properties:
6+
accountType:
7+
type: string
8+
enum:
9+
- AED_ACCOUNT
10+
iban:
11+
type: string
12+
description: UAE IBAN (23 characters, starting with AE)
13+
example: AE070331234567890123456
14+
minLength: 23
15+
maxLength: 23
16+
pattern: ^AE[0-9]{21}$
17+
swiftCode:
18+
type: string
19+
description: The SWIFT/BIC code of the bank
20+
example: EBILAEAD
21+
minLength: 8
22+
maxLength: 11
23+
pattern: ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
Lines changed: 12 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,12 @@
1-
type: object
2-
required:
3-
- accountType
4-
- paymentRails
5-
- pixKey
6-
- pixKeyType
7-
- taxId
8-
properties:
9-
accountType:
10-
type: string
11-
enum:
12-
- BRL_ACCOUNT
13-
paymentRails:
14-
type: array
15-
items:
16-
type: string
17-
enum:
18-
- PIX
19-
pixKey:
20-
type: string
21-
description: The PIX key (email, phone, CPF, CNPJ, or random)
22-
minLength: 1
23-
maxLength: 77
24-
pixKeyType:
25-
type: string
26-
description: The type of PIX key
27-
enum:
28-
- CPF
29-
- CNPJ
30-
- EMAIL
31-
- PHONE
32-
- RANDOM
33-
taxId:
34-
type: string
35-
description: The tax ID (CPF or CNPJ)
36-
minLength: 11
37-
maxLength: 14
38-
pattern: ^[0-9]{11,14}$
1+
allOf:
2+
- $ref: ./BrlAccountInfoBase.yaml
3+
- type: object
4+
required:
5+
- paymentRails
6+
properties:
7+
paymentRails:
8+
type: array
9+
items:
10+
type: string
11+
enum:
12+
- PIX
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
type: object
2+
required:
3+
- accountType
4+
- pixKey
5+
- pixKeyType
6+
- taxId
7+
properties:
8+
accountType:
9+
type: string
10+
enum:
11+
- BRL_ACCOUNT
12+
pixKey:
13+
type: string
14+
description: The PIX key (email, phone, CPF, CNPJ, or random)
15+
minLength: 1
16+
maxLength: 77
17+
pixKeyType:
18+
type: string
19+
description: The type of PIX key
20+
enum:
21+
- CPF
22+
- CNPJ
23+
- EMAIL
24+
- PHONE
25+
- RANDOM
26+
taxId:
27+
type: string
28+
description: The tax ID (CPF or CNPJ)
29+
minLength: 11
30+
maxLength: 14
31+
pattern: ^[0-9]{11,14}$
Lines changed: 12 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,12 @@
1-
type: object
2-
required:
3-
- accountType
4-
- paymentRails
5-
- phoneNumber
6-
- provider
7-
properties:
8-
accountType:
9-
type: string
10-
enum:
11-
- BWP_ACCOUNT
12-
paymentRails:
13-
type: array
14-
items:
15-
type: string
16-
enum:
17-
- MOBILE_MONEY
18-
phoneNumber:
19-
type: string
20-
description: The phone number in international format
21-
example: '+1234567890'
22-
minLength: 7
23-
maxLength: 15
24-
pattern: ^\+[0-9]{6,14}$
25-
provider:
26-
type: string
27-
description: The mobile money provider name
28-
minLength: 1
29-
maxLength: 255
1+
allOf:
2+
- $ref: ./BwpAccountInfoBase.yaml
3+
- type: object
4+
required:
5+
- paymentRails
6+
properties:
7+
paymentRails:
8+
type: array
9+
items:
10+
type: string
11+
enum:
12+
- MOBILE_MONEY
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
type: object
2+
required:
3+
- accountType
4+
- phoneNumber
5+
- provider
6+
properties:
7+
accountType:
8+
type: string
9+
enum:
10+
- BWP_ACCOUNT
11+
phoneNumber:
12+
type: string
13+
description: The phone number in international format
14+
example: '+1234567890'
15+
minLength: 7
16+
maxLength: 15
17+
pattern: ^\+[0-9]{6,14}$
18+
provider:
19+
type: string
20+
description: The mobile money provider name
21+
minLength: 1
22+
maxLength: 255
Lines changed: 11 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,12 @@
1-
type: object
2-
required:
3-
- accountType
1+
allOf:
2+
- $ref: ./CadAccountInfoBase.yaml
3+
- type: object
4+
required:
45
- paymentRails
5-
- bankCode
6-
- branchCode
7-
- accountNumber
8-
properties:
9-
accountType:
10-
type: string
11-
enum:
12-
- CAD_ACCOUNT
13-
paymentRails:
14-
type: array
15-
items:
16-
type: string
17-
enum:
18-
- BANK_TRANSFER
19-
bankCode:
20-
type: string
21-
description: Canadian financial institution number (3 digits)
22-
example: '001'
23-
minLength: 3
24-
maxLength: 3
25-
pattern: ^[0-9]{3}$
26-
branchCode:
27-
type: string
28-
description: Transit number identifying the branch (5 digits)
29-
example: '00012'
30-
minLength: 5
31-
maxLength: 5
32-
pattern: ^[0-9]{5}$
33-
accountNumber:
34-
type: string
35-
description: Bank account number (7-12 digits)
36-
example: '1234567'
37-
minLength: 7
38-
maxLength: 12
39-
pattern: ^[0-9]{7,12}$
6+
properties:
7+
paymentRails:
8+
type: array
9+
items:
10+
type: string
11+
enum:
12+
- BANK_TRANSFER
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
type: object
2+
required:
3+
- accountType
4+
- bankCode
5+
- branchCode
6+
- accountNumber
7+
properties:
8+
accountType:
9+
type: string
10+
enum:
11+
- CAD_ACCOUNT
12+
bankCode:
13+
type: string
14+
description: Canadian financial institution number (3 digits)
15+
example: '001'
16+
minLength: 3
17+
maxLength: 3
18+
pattern: ^[0-9]{3}$
19+
branchCode:
20+
type: string
21+
description: Transit number identifying the branch (5 digits)
22+
example: '00012'
23+
minLength: 5
24+
maxLength: 5
25+
pattern: ^[0-9]{5}$
26+
accountNumber:
27+
type: string
28+
description: Bank account number (7-12 digits)
29+
example: '1234567'
30+
minLength: 7
31+
maxLength: 12
32+
pattern: ^[0-9]{7,12}$

0 commit comments

Comments
 (0)