forked from moov-io/fed
-
Notifications
You must be signed in to change notification settings - Fork 0
/
openapi.yaml
383 lines (373 loc) · 11.2 KB
/
openapi.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
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
openapi: 3.0.2
info:
description: FED API is designed to create FEDACH and FEDWIRE dictionaries. The FEDACH dictionary contains receiving depository financial institutions (RDFI’s) which are qualified to receive ACH entries. The FEDWIRE dictionary contains receiving depository financial institutions (RDFI’s) which are qualified to receive WIRE entries. This project implements a modern REST HTTP API for FEDACH Dictionary and FEDWIRE Dictionary.
version: v1
title: FED API
contact:
name: FED API Support
url: 'https://github.com/moov-io/fed'
license:
name: Apache 2.0
url: 'http://www.apache.org/licenses/LICENSE-2.0.html'
servers:
- url: 'http://localhost:8086'
description: Local development
tags:
- name: FED
description: FEDACH Dictionary and FEDWIRE Dictionary
paths:
/ping:
get:
tags:
- FED
summary: Ping the FED service to check if running
operationId: ping
responses:
'200':
description: Service is running properly
content:
text/plain:
example: PONG
/fed/ach/search:
get:
tags:
- FED
summary: Search FEDACH names and metadata
operationId: searchFEDACH
parameters:
- name: X-Request-ID
in: header
description: Optional Request ID allows application developer to trace requests through the systems logs
example: rs4f9915
schema:
type: string
- name: X-User-ID
in: header
description: Optional User ID used to perform this search
schema:
type: string
- name: name
in: query
schema:
type: string
example: Farmers
description: FEDACH Financial Institution Name
- name: routingNumber
in: query
schema:
type: string
example: 044112187
description: FEDACH Routing Number for a Financial Institution
- name: state
in: query
schema:
type: string
example: OH
description: FEDACH Financial Institution State
- name: city
in: query
schema:
type: string
example: CALDWELL
description: FEDACH Financial Institution City
- name: postalCode
in: query
schema:
type: string
example: 43724
description: FEDACH Financial Institution Postal Code
- name: limit
in: query
schema:
type: integer
example: 499
description: Maximum results returned by a search
responses:
'200':
description: FEDACH Participants returned from a search
content:
application/json:
schema:
$ref: '#/components/schemas/ACHDictionary'
'400':
description: Invalid, check error(s).
content:
application/json:
schema:
$ref: 'https://raw.githubusercontent.com/moov-io/base/master/api/common.yaml#/components/schemas/Error'
'500':
description: Internal error, check error(s) and report the issue.
/fed/wire/search:
get:
tags:
- FED
summary: Search FEDWIRE names and metadata
operationId: searchFEDWIRE
parameters:
- name: X-Request-ID
in: header
description: Optional Request ID allows application developer to trace requests through the systems logs
example: rs4f9915
schema:
type: string
- name: X-User-ID
in: header
description: Optional User ID used to perform this search
schema:
type: string
- name: name
in: query
schema:
type: string
example: MIDWEST
description: FEDWIRE Financial Institution Name
- name: routingNumber
in: query
schema:
type: string
example: 091905114
description: FEDWIRE Routing Number for a Financial Institution
- name: state
in: query
schema:
type: string
example: IA
description: FEDWIRE Financial Institution State
- name: city
in: query
schema:
type: string
example: IOWA CITY
description: FEDWIRE Financial Institution City
- name: limit
in: query
schema:
type: integer
example: 499
description: Maximum results returned by a search
responses:
'200':
description: FEDWIRE Participants returned from a search
content:
application/json:
schema:
$ref: '#/components/schemas/WIREDictionary'
'400':
description: Invalid, check error(s).
content:
application/json:
schema:
$ref: 'https://raw.githubusercontent.com/moov-io/base/master/api/common.yaml#/components/schemas/Error'
'500':
description: Internal error, check error(s) and report the issue.
components:
schemas:
ACHDictionary:
description: Search results containing ACHDictionary of Participants
properties:
achParticipants:
type: array
items:
$ref: '#/components/schemas/ACHParticipant'
ACHParticipant:
description: ACHParticipant holds a FedACH dir routing record as defined by Fed ACH Format. https://www.frbservices.org/EPaymentsDirectory/achFormat.html
properties:
routingNumber:
type: string
minLength: 9
maxLength: 9
description: The institution's routing number
example: '044112187'
officeCode:
type: string
minLength: 1
maxLength: 1
description: |
Main/Head Office or Branch
* `O` - Main
* `B` - Branch
enum:
- O
- B
example: 'O'
servicingFRBNumber:
type: string
minLength: 9
maxLength: 9
description: Servicing Fed's main office routing number
example: '041000014'
recordTypeCode:
type: string
minLength: 1
maxLength: 1
description: |
The code indicating the ABA number to be used to route or send ACH items to the RDFI
* `0` - Institution is a Federal Reserve Bank
* `1` - Send items to customer routing number
* `2` - Send items to customer using new routing number field
enum:
- 0
- 1
- 2
example: '1'
revised:
type: string
maxLength: 8
description: |
Date of last revision
* YYYYMMDD
* Blank
example: '20190311'
newRoutingNumber:
type: string
minLength: 9
maxLength: 9
description: Financial Institution's new routing number resulting from a merger or renumber
example: '000000000'
customerName:
type: string
maxLength: 36
description: Financial Institution Name
example: FARMERS & MERCHANTS BANK
achLocation:
$ref: '#/components/schemas/ACHLocation'
phoneNumber:
type: string
minLength: 10
maxLength: 10
description: The Financial Institution's phone number
example: '7407325621'
statusCode:
type: string
minLength: 1
maxLength: 1
description: |
Code is based on the customers receiver code
* `1` - Receives Gov/Comm
enum:
- 1
example: '1'
viewCode:
type: string
minLength: 1
maxLength: 1
description: |-
Code is current view
* `1` - Current view
enum:
- 1
example: '1'
ACHLocation:
description: ACHLocation is the FEDACH delivery address
properties:
address:
type: string
maxLength: 36
description: Street Address
example: '430 NORTH ST'
city:
type: string
maxLength: 20
description: City
example: 'CALDWELL'
state:
type: string
minLength: 2
maxLength: 2
description: State
example: 'OH'
postalCode:
type: string
minLength: 5
maxLength: 5
description: Postal Code
example: '43724'
postalExtension:
type: string
minLength: 4
maxLength: 4
description: Postal Code Extension
example: '0000'
WIREDictionary:
description: Search results containing WIREDictionary of Participants
properties:
wireParticipants:
type: array
items:
$ref: '#/components/schemas/WIREParticipant'
WIREParticipant:
description: WIREParticipant holds a FedWIRE dir routing record as defined by Fed WIRE Format. https://frbservices.org/EPaymentsDirectory/fedwireFormat.html
properties:
routingNumber:
type: string
minLength: 9
maxLength: 9
description: The institution's routing number
example: '091905114'
telegraphicName:
type: string
maxLength: 18
description: Short name of financial institution
example: 'MIDWESTONE B&T'
customerName:
type: string
maxLength: 36
description: Financial Institution Name
example: 'MIDWESTONE BK'
wireLocation:
$ref: '#/components/schemas/WIRELocation'
fundsTransferStatus:
type: string
minLength: 1
maxLength: 1
description: |
Designates funds transfer status
* `Y` - Eligible
* `N` - Ineligible
enum:
- Y
- N
example: 'Y'
fundsSettlementOnlyStatus:
type: string
maxLength: 1
description: |
Designates funds settlement only status
* `S` - Settlement-Only
enum:
- S
example: ''
bookEntrySecuritiesTransferStatus:
type: string
minLength: 1
maxLength: 1
description: |
Designates book entry securities transfer status
* `Y` - Eligible
* `N` - Ineligible
enum:
- Y
- N
example: 'N'
date:
type: string
maxLength: 8
description: |
Date of last revision
* YYYYMMDD
* Blank
example: '20190401'
WIRELocation:
description: WIRELocation is the FEDWIRE delivery address
properties:
city:
type: string
maxLength: 25
description: City
example: 'IOWA CITY'
state:
type: string
minLength: 2
maxLength: 2
description: State
example: 'IA'