-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathflutterwave-banks-api-openapi.yml
More file actions
163 lines (163 loc) · 4.53 KB
/
flutterwave-banks-api-openapi.yml
File metadata and controls
163 lines (163 loc) · 4.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
openapi: 3.1.0
info:
title: Flutterwave Banks API
description: |
Flutterwave v4 reference data APIs for supported banks, bank branches,
mobile networks, and bank account name resolution. These endpoints are
used to populate dropdowns and validate destination accounts before
initiating payouts.
version: '4.0.0'
contact:
name: Flutterwave
url: https://developer.flutterwave.com
email: developers@flutterwavego.com
license:
name: Flutterwave Terms of Service
url: https://flutterwave.com/us/terms
servers:
- url: https://api.flutterwave.cloud/f4b/production
description: Production
- url: https://api.flutterwave.cloud/f4b/sandbox
description: Sandbox
security:
- OAuth2: []
tags:
- name: Banks
description: Banks and bank branches supported by country.
- name: MobileNetworks
description: Mobile money networks supported by country.
- name: AccountResolution
description: Bank account name resolution before initiating payouts.
paths:
/banks:
get:
summary: Retrieve Banks
description: Retrieve supported banks by country.
operationId: listBanks
tags: [Banks]
parameters:
- in: query
name: country
required: true
schema: { type: string, example: NG }
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/BankList'
/banks/{id}/branches:
parameters:
- in: path
name: id
required: true
schema: { type: string }
get:
summary: Retrieve Bank Branches
operationId: listBankBranches
tags: [Banks]
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/BranchList'
/bank-account/resolve:
post:
summary: Bank Account Look Up
description: Resolve a customer's bank account information.
operationId: resolveBankAccount
tags: [AccountResolution]
requestBody:
required: true
content:
application/json:
schema:
type: object
required: [account_number, bank_id]
properties:
account_number: { type: string }
bank_id: { type: string }
country: { type: string }
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/BankAccount'
/mobile-networks:
get:
summary: Retrieve Mobile Networks
description: Retrieve supported mobile networks by country.
operationId: listMobileNetworks
tags: [MobileNetworks]
parameters:
- in: query
name: country
required: true
schema: { type: string }
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/MobileNetworkList'
components:
securitySchemes:
OAuth2:
type: oauth2
flows:
clientCredentials:
tokenUrl: https://idp.flutterwave.com/realms/flutterwave/protocol/openid-connect/token
scopes: {}
schemas:
Bank:
type: object
properties:
id: { type: string }
name: { type: string }
code: { type: string }
country: { type: string }
BankList:
type: object
properties:
data:
type: array
items: { $ref: '#/components/schemas/Bank' }
Branch:
type: object
properties:
id: { type: string }
name: { type: string }
bank_id: { type: string }
swift_code: { type: string }
BranchList:
type: object
properties:
data:
type: array
items: { $ref: '#/components/schemas/Branch' }
BankAccount:
type: object
properties:
account_number: { type: string }
account_name: { type: string }
bank_id: { type: string }
bank_name: { type: string }
MobileNetwork:
type: object
properties:
id: { type: string }
name: { type: string }
country: { type: string }
code: { type: string }
MobileNetworkList:
type: object
properties:
data:
type: array
items: { $ref: '#/components/schemas/MobileNetwork' }