-
Notifications
You must be signed in to change notification settings - Fork 87
/
Copy pathopenAPISpecBank.yaml
230 lines (230 loc) · 5.87 KB
/
openAPISpecBank.yaml
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
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
openapi: 3.0.0
info:
title: The Good Bank APIs
version: 1.0.0
servers:
- url: http://security.postman-breakable.com
tags:
- name: Health
- name: Bank User
description: This folder contains APIs to manage users of The Good Bank.
- name: Bank User > Authentication
- name: Bank Account
description: >-
This folder contains the APIs that deals with user account and
transactions.
- name: Bank Admin
description: >-
This folder contains APIs used by bank administration. To provide support
to customer in case of an issue.
components:
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-API-key
paths:
/:
get:
tags:
- Health
summary: Ping
responses:
'200':
description: Successful response
content:
application/json: {}
/user:
put:
tags:
- Bank User > Authentication
summary: Update User Information
description: Authenticated users can update their user information.
security:
- ApiKeyAuth: []
requestBody:
content:
application/json:
schema:
type: object
example:
email_id: [email protected]
phone: +91 9876543210
responses:
'200':
description: Successful response
content:
application/json: {}
post:
tags:
- Bank User
summary: Create User
description: Register a new user with The Good Bank. The username must be unique.
requestBody:
content:
application/json:
schema:
type: object
example:
username: kmmanoj96001
password: kmmanoj96001pass
responses:
'200':
description: Successful response
content:
application/json: {}
/user/change-password:
post:
tags:
- Bank User > Authentication
summary: User Change Password
description: >-
This API is used to update the user password. The user must be
authenticated and must remember the current password to update.
requestBody:
content:
application/json:
schema:
type: object
example:
username: ''
old_password: ''
new_password: ''
responses:
'200':
description: Successful response
content:
application/json: {}
/user/logout:
get:
tags:
- Bank User > Authentication
summary: User Logout
description: This API revokes an active user session.
security:
- ApiKeyAuth: []
responses:
'200':
description: Successful response
content:
application/json: {}
/user/login:
post:
tags:
- Bank User
summary: User Login
requestBody:
content:
application/json:
schema:
type: object
example:
username: kmmanoj96001
password: kmmanoj96001pass
responses:
'200':
description: Successful response
content:
application/json: {}
/account/{user_id}/summary:
get:
tags:
- Bank Account
summary: Account summary
description: Fetch account summary for a single user.
parameters:
- name: user_id
in: path
schema:
type: string
required: true
responses:
'200':
description: Successful response
content:
application/json: {}
/account/transactions:
get:
tags:
- Bank Account
summary: Account transactions
description: Fetch transactions for a single account.
security:
- ApiKeyAuth: []
parameters:
- name: limit
in: query
schema:
type: integer
description: number of transactions to display
example: '10'
- name: filter
in: query
schema:
type: string
description: Search string to filter on transaction party
responses:
'200':
description: Successful response
content:
application/json: {}
/people/customers:
get:
tags:
- Bank Admin
summary: Our customers
security:
- ApiKeyAuth: []
responses:
'200':
description: Successful response
content:
application/json: {}
/admin/credit:
post:
tags:
- Bank Admin
summary: Credit amount
description: >-
To be used by the bank tellers to cash checks, receive deposits, savings
account transactions among other things.
security:
- ApiKeyAuth: []
requestBody:
content:
application/json:
schema:
type: object
example:
user_id: user-id
transaction_party: nowhere
transaction_amount: 100
responses:
'200':
description: Successful response
content:
application/json: {}
/admin/debit:
post:
tags:
- Bank Admin
summary: Debit amount
description: >-
To be used by the bank tellers to cash checks, receive deposits, savings
account transactions among other things.
security:
- ApiKeyAuth: []
requestBody:
content:
application/json:
schema:
type: object
example:
user_id: user-id
transaction_party: somwhere
transaction_amount: 100
responses:
'200':
description: Successful response
content:
application/json: {}