@checkdigit/eslint-plugin 7.17.1 → 7.18.0-PR.143-9946

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/dist-mjs/athena/api-locator.mjs +30 -0
  2. package/dist-mjs/athena/api-matcher.mjs +108 -0
  3. package/dist-mjs/athena/athena.mjs +328 -0
  4. package/dist-mjs/athena/column.mjs +1 -0
  5. package/dist-mjs/athena/context.mjs +21 -0
  6. package/dist-mjs/athena/index.mjs +1 -0
  7. package/dist-mjs/athena/service-table.mjs +32 -0
  8. package/dist-mjs/athena/types.mjs +1 -0
  9. package/dist-mjs/athena/visitor.mjs +258 -0
  10. package/dist-mjs/index.mjs +8 -4
  11. package/dist-mjs/no-status-code-assert.mjs +1 -1
  12. package/dist-mjs/openapi/deref-schema.mjs +14 -0
  13. package/dist-mjs/openapi/generate-schema.mjs +273 -0
  14. package/dist-mjs/openapi/service-schema-generator.mjs +147 -0
  15. package/dist-mjs/peggy/athena-peggy.mjs +20629 -0
  16. package/dist-types/athena/api-locator.d.ts +2 -0
  17. package/dist-types/athena/api-matcher.d.ts +14 -0
  18. package/dist-types/athena/athena.d.ts +6 -0
  19. package/dist-types/athena/column.d.ts +1 -0
  20. package/dist-types/athena/context.d.ts +21 -0
  21. package/dist-types/athena/index.d.ts +8 -0
  22. package/dist-types/athena/service-table.d.ts +8 -0
  23. package/dist-types/athena/types.d.ts +474 -0
  24. package/dist-types/athena/visitor.d.ts +63 -0
  25. package/dist-types/no-status-code-assert.d.ts +1 -1
  26. package/dist-types/openapi/deref-schema.d.ts +1 -0
  27. package/dist-types/openapi/generate-schema.d.ts +33 -0
  28. package/dist-types/openapi/service-schema-generator.d.ts +5 -0
  29. package/dist-types/peggy/athena-peggy.d.ts +13 -0
  30. package/package.json +1 -96
  31. package/src/athena/ATHENA.md +387 -0
  32. package/src/athena/PLAN.md +355 -0
  33. package/src/athena/api-locator.ts +39 -0
  34. package/src/athena/api-matcher.ts +169 -0
  35. package/src/athena/athena.ts +488 -0
  36. package/src/athena/column.ts +2 -0
  37. package/src/athena/context.ts +47 -0
  38. package/src/athena/index.ts +11 -0
  39. package/src/athena/service-table.ts +55 -0
  40. package/src/athena/types.ts +526 -0
  41. package/src/athena/visitor.ts +365 -0
  42. package/src/index.ts +4 -0
  43. package/src/no-side-effects.ts +1 -1
  44. package/src/no-status-code-assert.ts +2 -2
  45. package/src/openapi/deref-schema.ts +14 -0
  46. package/src/openapi/generate-schema.ts +422 -0
  47. package/src/openapi/service-schema-generator.ts +189 -0
  48. package/src/peggy/athena-chat.peggy +608 -0
  49. package/src/peggy/athena-peggy.ts +22078 -0
  50. package/src/peggy/athena.peggy +2967 -0
  51. package/src/require-service-call-response-declaration.ts +2 -2
  52. package/src/services/interchange/v1/swagger.schema.deref.json +849 -0
  53. package/src/services/interchange/v1/swagger.schema.json +473 -0
  54. package/src/services/interchange/v1/swagger.yml +414 -0
  55. package/src/services/ledger/v1/swagger.schema.deref.json +6694 -0
  56. package/src/services/ledger/v1/swagger.schema.json +1820 -0
  57. package/src/services/ledger/v1/swagger.yml +1094 -0
  58. package/src/services/link/v1/swagger.schema.deref.json +648 -0
  59. package/src/services/link/v1/swagger.schema.json +444 -0
  60. package/src/services/link/v1/swagger.yml +343 -0
  61. package/src/services/message/v1/swagger.schema.deref.json +22049 -0
  62. package/src/services/message/v1/swagger.schema.json +3470 -0
  63. package/src/services/message/v1/swagger.yml +2798 -0
  64. package/src/services/message/v2/swagger.schema.deref.json +72221 -0
  65. package/src/services/message/v2/swagger.schema.json +3558 -0
  66. package/src/services/message/v2/swagger.yml +3009 -0
  67. package/src/services/paymentCard/v1/swagger.schema.deref.json +4346 -0
  68. package/src/services/paymentCard/v1/swagger.schema.json +2181 -0
  69. package/src/services/paymentCard/v1/swagger.yml +1161 -0
  70. package/src/services/paymentCard/v2/swagger.schema.deref.json +4336 -0
  71. package/src/services/paymentCard/v2/swagger.schema.json +2155 -0
  72. package/src/services/paymentCard/v2/swagger.yml +1149 -0
  73. package/src/services/person/v1/swagger.schema.deref.json +6786 -0
  74. package/src/services/person/v1/swagger.schema.json +1445 -0
  75. package/src/services/person/v1/swagger.yml +1157 -0
  76. package/src/services/teampayApproval/v1/swagger.schema.deref.json +9898 -0
  77. package/src/services/teampayCardManagement/v1/swagger.schema.deref.json +6187 -0
  78. package/src/services/teampayClientManagement/v1/swagger.schema.deref.json +4914 -0
  79. package/src/services/teampayClientManagement/v1/swagger.schema.json +1964 -0
  80. package/src/services/teampayClientManagement/v1/swagger.yml +1376 -0
@@ -0,0 +1,1964 @@
1
+ {
2
+ "apis": {
3
+ "/teampay-client-management/v1/ping": {
4
+ "get": {
5
+ "request": {
6
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
7
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/PingGetRequestContext",
8
+ "type": "object",
9
+ "properties": {
10
+ "headers": {
11
+ "type": "object",
12
+ "additionalProperties": true
13
+ }
14
+ },
15
+ "required": [],
16
+ "additionalProperties": false
17
+ },
18
+ "responses": {
19
+ "200": {
20
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
21
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/PingGetResponseOK",
22
+ "type": "object",
23
+ "properties": {
24
+ "headers": {
25
+ "type": "object",
26
+ "additionalProperties": true
27
+ },
28
+ "body": {
29
+ "$ref": "/teampay-client-management/v1/schemas/definitions/Ping"
30
+ }
31
+ },
32
+ "required": ["body"],
33
+ "additionalProperties": false
34
+ },
35
+ "default": {
36
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
37
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/PingGetResponseDefault",
38
+ "type": "object",
39
+ "properties": {
40
+ "headers": {
41
+ "type": "object",
42
+ "additionalProperties": true
43
+ },
44
+ "body": {
45
+ "$ref": "/teampay-client-management/v1/schemas/definitions/Error"
46
+ }
47
+ },
48
+ "required": ["body"],
49
+ "additionalProperties": false
50
+ }
51
+ }
52
+ }
53
+ },
54
+ "/teampay-client-management/v1/client/:clientId": {
55
+ "get": {
56
+ "request": {
57
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
58
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/ClientGetRequestContext",
59
+ "type": "object",
60
+ "properties": {
61
+ "params": {
62
+ "type": "object",
63
+ "additionalProperties": false,
64
+ "properties": {
65
+ "at": {
66
+ "type": "string",
67
+ "format": "date-time"
68
+ }
69
+ },
70
+ "required": ["at"]
71
+ },
72
+ "headers": {
73
+ "type": "object",
74
+ "additionalProperties": true
75
+ }
76
+ },
77
+ "required": ["params", "query"],
78
+ "additionalProperties": false
79
+ },
80
+ "responses": {
81
+ "200": {
82
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
83
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/ClientGetResponseOK",
84
+ "type": "object",
85
+ "properties": {
86
+ "headers": {
87
+ "type": "object",
88
+ "properties": {
89
+ "last-modified": {
90
+ "type": "string",
91
+ "format": "date-time"
92
+ },
93
+ "created-on": {
94
+ "type": "string",
95
+ "format": "date-time"
96
+ },
97
+ "updated-on": {
98
+ "type": "string",
99
+ "format": "date-time"
100
+ },
101
+ "etag": {
102
+ "type": "string"
103
+ }
104
+ },
105
+ "required": ["last-modified", "created-on", "updated-on", "etag"]
106
+ },
107
+ "body": {
108
+ "$ref": "/teampay-client-management/v1/schemas/definitions/Client"
109
+ }
110
+ },
111
+ "required": ["headers", "body"],
112
+ "additionalProperties": false
113
+ },
114
+ "404": {
115
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
116
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/ClientGetResponseNotFound",
117
+ "type": "object",
118
+ "properties": {
119
+ "headers": {
120
+ "type": "object",
121
+ "additionalProperties": true
122
+ }
123
+ },
124
+ "required": [],
125
+ "additionalProperties": false
126
+ },
127
+ "default": {
128
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
129
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/ClientGetResponseDefault",
130
+ "type": "object",
131
+ "properties": {
132
+ "headers": {
133
+ "type": "object",
134
+ "additionalProperties": true
135
+ },
136
+ "body": {
137
+ "$ref": "/teampay-client-management/v1/schemas/definitions/Error"
138
+ }
139
+ },
140
+ "required": ["body"],
141
+ "additionalProperties": false
142
+ }
143
+ }
144
+ },
145
+ "put": {
146
+ "request": {
147
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
148
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/ClientPutRequestContext",
149
+ "type": "object",
150
+ "properties": {
151
+ "params": {
152
+ "type": "object",
153
+ "additionalProperties": false,
154
+ "properties": {
155
+ "clientId": {
156
+ "$ref": "/teampay-client-management/v1/schemas/definitions/ClientId"
157
+ }
158
+ },
159
+ "required": ["clientId"]
160
+ },
161
+ "headers": {
162
+ "type": "object",
163
+ "additionalProperties": true,
164
+ "properties": {
165
+ "if-match": {
166
+ "type": "string"
167
+ }
168
+ }
169
+ },
170
+ "body": {
171
+ "$ref": "/teampay-client-management/v1/schemas/definitions/NewClient"
172
+ }
173
+ },
174
+ "required": ["params", "body"],
175
+ "additionalProperties": false
176
+ },
177
+ "responses": {
178
+ "200": {
179
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
180
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/ClientPutResponseOK",
181
+ "type": "object",
182
+ "properties": {
183
+ "headers": {
184
+ "type": "object",
185
+ "properties": {
186
+ "last-modified": {
187
+ "type": "string",
188
+ "format": "date-time"
189
+ },
190
+ "created-on": {
191
+ "type": "string",
192
+ "format": "date-time"
193
+ },
194
+ "updated-on": {
195
+ "type": "string",
196
+ "format": "date-time"
197
+ },
198
+ "etag": {
199
+ "type": "string"
200
+ }
201
+ },
202
+ "required": ["last-modified", "created-on", "updated-on", "etag"]
203
+ },
204
+ "body": {
205
+ "$ref": "/teampay-client-management/v1/schemas/definitions/Client"
206
+ }
207
+ },
208
+ "required": ["headers", "body"],
209
+ "additionalProperties": false
210
+ },
211
+ "409": {
212
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
213
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/ClientPutResponseConflict",
214
+ "type": "object",
215
+ "properties": {
216
+ "headers": {
217
+ "type": "object",
218
+ "additionalProperties": true
219
+ }
220
+ },
221
+ "required": [],
222
+ "additionalProperties": false
223
+ },
224
+ "412": {
225
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
226
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/ClientPutResponsePreconditionFailed",
227
+ "type": "object",
228
+ "properties": {
229
+ "headers": {
230
+ "type": "object",
231
+ "additionalProperties": true
232
+ }
233
+ },
234
+ "required": [],
235
+ "additionalProperties": false
236
+ },
237
+ "default": {
238
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
239
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/ClientPutResponseDefault",
240
+ "type": "object",
241
+ "properties": {
242
+ "headers": {
243
+ "type": "object",
244
+ "additionalProperties": true
245
+ },
246
+ "body": {
247
+ "$ref": "/teampay-client-management/v1/schemas/definitions/Error"
248
+ }
249
+ },
250
+ "required": ["body"],
251
+ "additionalProperties": false
252
+ }
253
+ }
254
+ }
255
+ },
256
+ "/teampay-client-management/v1/client/:clientId/balance": {
257
+ "get": {
258
+ "request": {
259
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
260
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/ClientBalanceGetRequestContext",
261
+ "type": "object",
262
+ "properties": {
263
+ "params": {
264
+ "type": "object",
265
+ "additionalProperties": false,
266
+ "properties": {
267
+ "at": {
268
+ "type": "string",
269
+ "format": "date-time"
270
+ }
271
+ },
272
+ "required": ["at"]
273
+ },
274
+ "headers": {
275
+ "type": "object",
276
+ "additionalProperties": true
277
+ }
278
+ },
279
+ "required": ["params", "query"],
280
+ "additionalProperties": false
281
+ },
282
+ "responses": {
283
+ "200": {
284
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
285
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/ClientBalanceGetResponseOK",
286
+ "type": "object",
287
+ "properties": {
288
+ "headers": {
289
+ "type": "object",
290
+ "additionalProperties": true
291
+ },
292
+ "body": {
293
+ "$ref": "/teampay-client-management/v1/schemas/definitions/ClientBalance"
294
+ }
295
+ },
296
+ "required": ["body"],
297
+ "additionalProperties": false
298
+ },
299
+ "404": {
300
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
301
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/ClientBalanceGetResponseNotFound",
302
+ "type": "object",
303
+ "properties": {
304
+ "headers": {
305
+ "type": "object",
306
+ "additionalProperties": true
307
+ }
308
+ },
309
+ "required": [],
310
+ "additionalProperties": false
311
+ },
312
+ "default": {
313
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
314
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/ClientBalanceGetResponseDefault",
315
+ "type": "object",
316
+ "properties": {
317
+ "headers": {
318
+ "type": "object",
319
+ "additionalProperties": true
320
+ },
321
+ "body": {
322
+ "$ref": "/teampay-client-management/v1/schemas/definitions/Error"
323
+ }
324
+ },
325
+ "required": ["body"],
326
+ "additionalProperties": false
327
+ }
328
+ }
329
+ }
330
+ },
331
+ "/teampay-client-management/v1/ach-payment-source/:achPaymentSourceId": {
332
+ "get": {
333
+ "request": {
334
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
335
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/AchPaymentSourceGetRequestContext",
336
+ "type": "object",
337
+ "properties": {
338
+ "params": {
339
+ "type": "object",
340
+ "additionalProperties": false,
341
+ "properties": {
342
+ "at": {
343
+ "type": "string",
344
+ "format": "date-time"
345
+ }
346
+ },
347
+ "required": ["at"]
348
+ },
349
+ "headers": {
350
+ "type": "object",
351
+ "additionalProperties": true
352
+ }
353
+ },
354
+ "required": ["params", "query"],
355
+ "additionalProperties": false
356
+ },
357
+ "responses": {
358
+ "200": {
359
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
360
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/AchPaymentSourceGetResponseOK",
361
+ "type": "object",
362
+ "properties": {
363
+ "headers": {
364
+ "type": "object",
365
+ "properties": {
366
+ "last-modified": {
367
+ "type": "string",
368
+ "format": "date-time"
369
+ },
370
+ "created-on": {
371
+ "type": "string",
372
+ "format": "date-time"
373
+ },
374
+ "updated-on": {
375
+ "type": "string",
376
+ "format": "date-time"
377
+ }
378
+ },
379
+ "required": ["last-modified", "created-on", "updated-on"]
380
+ },
381
+ "body": {
382
+ "$ref": "/teampay-client-management/v1/schemas/definitions/ClientAchPaymentSource"
383
+ }
384
+ },
385
+ "required": ["headers", "body"],
386
+ "additionalProperties": false
387
+ },
388
+ "404": {
389
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
390
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/AchPaymentSourceGetResponseNotFound",
391
+ "type": "object",
392
+ "properties": {
393
+ "headers": {
394
+ "type": "object",
395
+ "additionalProperties": true
396
+ }
397
+ },
398
+ "required": [],
399
+ "additionalProperties": false
400
+ },
401
+ "default": {
402
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
403
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/AchPaymentSourceGetResponseDefault",
404
+ "type": "object",
405
+ "properties": {
406
+ "headers": {
407
+ "type": "object",
408
+ "additionalProperties": true
409
+ },
410
+ "body": {
411
+ "$ref": "/teampay-client-management/v1/schemas/definitions/Error"
412
+ }
413
+ },
414
+ "required": ["body"],
415
+ "additionalProperties": false
416
+ }
417
+ }
418
+ },
419
+ "put": {
420
+ "request": {
421
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
422
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/AchPaymentSourcePutRequestContext",
423
+ "type": "object",
424
+ "properties": {
425
+ "params": {
426
+ "type": "object",
427
+ "additionalProperties": false,
428
+ "properties": {
429
+ "achPaymentSourceId": {
430
+ "$ref": "/teampay-client-management/v1/schemas/definitions/AchPaymentSourceId"
431
+ }
432
+ },
433
+ "required": ["achPaymentSourceId"]
434
+ },
435
+ "headers": {
436
+ "type": "object",
437
+ "additionalProperties": true
438
+ },
439
+ "body": {
440
+ "$ref": "/teampay-client-management/v1/schemas/definitions/NewClientAchPaymentSource"
441
+ }
442
+ },
443
+ "required": ["params", "body"],
444
+ "additionalProperties": false
445
+ },
446
+ "responses": {
447
+ "200": {
448
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
449
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/AchPaymentSourcePutResponseOK",
450
+ "type": "object",
451
+ "properties": {
452
+ "headers": {
453
+ "type": "object",
454
+ "properties": {
455
+ "last-modified": {
456
+ "type": "string",
457
+ "format": "date-time"
458
+ },
459
+ "created-on": {
460
+ "type": "string",
461
+ "format": "date-time"
462
+ },
463
+ "updated-on": {
464
+ "type": "string",
465
+ "format": "date-time"
466
+ }
467
+ },
468
+ "required": ["last-modified", "created-on", "updated-on"]
469
+ },
470
+ "body": {
471
+ "$ref": "/teampay-client-management/v1/schemas/definitions/ClientAchPaymentSource"
472
+ }
473
+ },
474
+ "required": ["headers", "body"],
475
+ "additionalProperties": false
476
+ },
477
+ "409": {
478
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
479
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/AchPaymentSourcePutResponseConflict",
480
+ "type": "object",
481
+ "properties": {
482
+ "headers": {
483
+ "type": "object",
484
+ "additionalProperties": true
485
+ }
486
+ },
487
+ "required": [],
488
+ "additionalProperties": false
489
+ },
490
+ "default": {
491
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
492
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/AchPaymentSourcePutResponseDefault",
493
+ "type": "object",
494
+ "properties": {
495
+ "headers": {
496
+ "type": "object",
497
+ "additionalProperties": true
498
+ },
499
+ "body": {
500
+ "$ref": "/teampay-client-management/v1/schemas/definitions/Error"
501
+ }
502
+ },
503
+ "required": ["body"],
504
+ "additionalProperties": false
505
+ }
506
+ }
507
+ }
508
+ },
509
+ "/teampay-client-management/v1/client/:clientId/ach-payment-sources": {
510
+ "get": {
511
+ "request": {
512
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
513
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/ClientAchPaymentSourcesGetRequestContext",
514
+ "type": "object",
515
+ "properties": {
516
+ "params": {
517
+ "type": "object",
518
+ "additionalProperties": false,
519
+ "properties": {
520
+ "at": {
521
+ "type": "string",
522
+ "format": "date-time"
523
+ }
524
+ },
525
+ "required": ["at"]
526
+ },
527
+ "headers": {
528
+ "type": "object",
529
+ "additionalProperties": true
530
+ }
531
+ },
532
+ "required": ["params", "query"],
533
+ "additionalProperties": false
534
+ },
535
+ "responses": {
536
+ "200": {
537
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
538
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/ClientAchPaymentSourcesGetResponseOK",
539
+ "type": "object",
540
+ "properties": {
541
+ "headers": {
542
+ "type": "object",
543
+ "additionalProperties": true
544
+ },
545
+ "body": {
546
+ "type": "array",
547
+ "description": "List of client ACH payment sources",
548
+ "items": {
549
+ "$ref": "/teampay-client-management/v1/schemas/definitions/ClientAchPaymentSource"
550
+ }
551
+ }
552
+ },
553
+ "required": ["body"],
554
+ "additionalProperties": false
555
+ },
556
+ "default": {
557
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
558
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/ClientAchPaymentSourcesGetResponseDefault",
559
+ "type": "object",
560
+ "properties": {
561
+ "headers": {
562
+ "type": "object",
563
+ "additionalProperties": true
564
+ },
565
+ "body": {
566
+ "$ref": "/teampay-client-management/v1/schemas/definitions/Error"
567
+ }
568
+ },
569
+ "required": ["body"],
570
+ "additionalProperties": false
571
+ }
572
+ }
573
+ }
574
+ },
575
+ "/teampay-client-management/v1/request/:paymentId": {
576
+ "put": {
577
+ "request": {
578
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
579
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/RequestPaymentPutRequestContext",
580
+ "type": "object",
581
+ "properties": {
582
+ "params": {
583
+ "type": "object",
584
+ "additionalProperties": false,
585
+ "properties": {
586
+ "paymentId": {
587
+ "type": "string",
588
+ "format": "uuid"
589
+ }
590
+ },
591
+ "required": ["paymentId"]
592
+ },
593
+ "headers": {
594
+ "type": "object",
595
+ "additionalProperties": true
596
+ },
597
+ "body": {
598
+ "$ref": "/teampay-client-management/v1/schemas/definitions/NewPayment"
599
+ }
600
+ },
601
+ "required": ["params", "body"],
602
+ "additionalProperties": false
603
+ },
604
+ "responses": {
605
+ "200": {
606
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
607
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/RequestPaymentPutResponseOK",
608
+ "type": "object",
609
+ "properties": {
610
+ "headers": {
611
+ "type": "object",
612
+ "properties": {
613
+ "last-modified": {
614
+ "type": "string",
615
+ "format": "date-time"
616
+ },
617
+ "created-on": {
618
+ "type": "string",
619
+ "format": "date-time"
620
+ },
621
+ "updated-on": {
622
+ "type": "string",
623
+ "format": "date-time"
624
+ }
625
+ },
626
+ "required": ["last-modified", "created-on", "updated-on"]
627
+ },
628
+ "body": {
629
+ "$ref": "/teampay-client-management/v1/schemas/definitions/PayOrRequestPaymentResponse"
630
+ }
631
+ },
632
+ "required": ["headers", "body"],
633
+ "additionalProperties": false
634
+ },
635
+ "409": {
636
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
637
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/RequestPaymentPutResponseConflict",
638
+ "type": "object",
639
+ "properties": {
640
+ "headers": {
641
+ "type": "object",
642
+ "additionalProperties": true
643
+ }
644
+ },
645
+ "required": [],
646
+ "additionalProperties": false
647
+ },
648
+ "default": {
649
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
650
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/RequestPaymentPutResponseDefault",
651
+ "type": "object",
652
+ "properties": {
653
+ "headers": {
654
+ "type": "object",
655
+ "additionalProperties": true
656
+ },
657
+ "body": {
658
+ "$ref": "/teampay-client-management/v1/schemas/definitions/Error"
659
+ }
660
+ },
661
+ "required": ["body"],
662
+ "additionalProperties": false
663
+ }
664
+ }
665
+ }
666
+ },
667
+ "/teampay-client-management/v1/pay/:paymentId": {
668
+ "put": {
669
+ "request": {
670
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
671
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/PayPaymentPutRequestContext",
672
+ "type": "object",
673
+ "properties": {
674
+ "params": {
675
+ "type": "object",
676
+ "additionalProperties": false,
677
+ "properties": {
678
+ "paymentId": {
679
+ "type": "string",
680
+ "format": "uuid"
681
+ }
682
+ },
683
+ "required": ["paymentId"]
684
+ },
685
+ "headers": {
686
+ "type": "object",
687
+ "additionalProperties": true
688
+ },
689
+ "body": {
690
+ "$ref": "/teampay-client-management/v1/schemas/definitions/NewPayment"
691
+ }
692
+ },
693
+ "required": ["params", "body"],
694
+ "additionalProperties": false
695
+ },
696
+ "responses": {
697
+ "200": {
698
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
699
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/PayPaymentPutResponseOK",
700
+ "type": "object",
701
+ "properties": {
702
+ "headers": {
703
+ "type": "object",
704
+ "properties": {
705
+ "last-modified": {
706
+ "type": "string",
707
+ "format": "date-time"
708
+ },
709
+ "created-on": {
710
+ "type": "string",
711
+ "format": "date-time"
712
+ },
713
+ "updated-on": {
714
+ "type": "string",
715
+ "format": "date-time"
716
+ }
717
+ },
718
+ "required": ["last-modified", "created-on", "updated-on"]
719
+ },
720
+ "body": {
721
+ "$ref": "/teampay-client-management/v1/schemas/definitions/PayOrRequestPaymentResponse"
722
+ }
723
+ },
724
+ "required": ["headers", "body"],
725
+ "additionalProperties": false
726
+ },
727
+ "409": {
728
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
729
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/PayPaymentPutResponseConflict",
730
+ "type": "object",
731
+ "properties": {
732
+ "headers": {
733
+ "type": "object",
734
+ "additionalProperties": true
735
+ }
736
+ },
737
+ "required": [],
738
+ "additionalProperties": false
739
+ },
740
+ "default": {
741
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
742
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/PayPaymentPutResponseDefault",
743
+ "type": "object",
744
+ "properties": {
745
+ "headers": {
746
+ "type": "object",
747
+ "additionalProperties": true
748
+ },
749
+ "body": {
750
+ "$ref": "/teampay-client-management/v1/schemas/definitions/Error"
751
+ }
752
+ },
753
+ "required": ["body"],
754
+ "additionalProperties": false
755
+ }
756
+ }
757
+ }
758
+ },
759
+ "/teampay-client-management/v1/cancel/:paymentId": {
760
+ "put": {
761
+ "request": {
762
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
763
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/CancelPaymentPutRequestContext",
764
+ "type": "object",
765
+ "properties": {
766
+ "params": {
767
+ "type": "object",
768
+ "additionalProperties": false,
769
+ "properties": {
770
+ "paymentId": {
771
+ "type": "string",
772
+ "format": "uuid"
773
+ }
774
+ },
775
+ "required": ["paymentId"]
776
+ },
777
+ "headers": {
778
+ "type": "object",
779
+ "additionalProperties": true
780
+ }
781
+ },
782
+ "required": ["params"],
783
+ "additionalProperties": false
784
+ },
785
+ "responses": {
786
+ "200": {
787
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
788
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/CancelPaymentPutResponseOK",
789
+ "type": "object",
790
+ "properties": {
791
+ "headers": {
792
+ "type": "object",
793
+ "properties": {
794
+ "last-modified": {
795
+ "type": "string",
796
+ "format": "date-time"
797
+ },
798
+ "created-on": {
799
+ "type": "string",
800
+ "format": "date-time"
801
+ },
802
+ "updated-on": {
803
+ "type": "string",
804
+ "format": "date-time"
805
+ }
806
+ },
807
+ "required": ["last-modified", "created-on", "updated-on"]
808
+ },
809
+ "body": {
810
+ "$ref": "/teampay-client-management/v1/schemas/definitions/CancelPaymentResponse"
811
+ }
812
+ },
813
+ "required": ["headers", "body"],
814
+ "additionalProperties": false
815
+ },
816
+ "412": {
817
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
818
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/CancelPaymentPutResponsePreconditionFailed",
819
+ "type": "object",
820
+ "properties": {
821
+ "headers": {
822
+ "type": "object",
823
+ "additionalProperties": true
824
+ }
825
+ },
826
+ "required": [],
827
+ "additionalProperties": false
828
+ },
829
+ "default": {
830
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
831
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/CancelPaymentPutResponseDefault",
832
+ "type": "object",
833
+ "properties": {
834
+ "headers": {
835
+ "type": "object",
836
+ "additionalProperties": true
837
+ },
838
+ "body": {
839
+ "$ref": "/teampay-client-management/v1/schemas/definitions/Error"
840
+ }
841
+ },
842
+ "required": ["body"],
843
+ "additionalProperties": false
844
+ }
845
+ }
846
+ }
847
+ },
848
+ "/teampay-client-management/v1/credit-account-adjustment/:entryId": {
849
+ "put": {
850
+ "request": {
851
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
852
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/CreditAccountAdjustmentPutRequestContext",
853
+ "type": "object",
854
+ "properties": {
855
+ "params": {
856
+ "type": "object",
857
+ "additionalProperties": false,
858
+ "properties": {
859
+ "entryId": {
860
+ "type": "string",
861
+ "format": "uuid"
862
+ }
863
+ },
864
+ "required": ["entryId"]
865
+ },
866
+ "headers": {
867
+ "type": "object",
868
+ "additionalProperties": true
869
+ },
870
+ "body": {
871
+ "$ref": "/teampay-client-management/v1/schemas/definitions/NewCreditAccountEntry"
872
+ }
873
+ },
874
+ "required": ["params", "body"],
875
+ "additionalProperties": false
876
+ },
877
+ "responses": {
878
+ "204": {
879
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
880
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/CreditAccountAdjustmentPutResponseNoContent",
881
+ "type": "object",
882
+ "properties": {
883
+ "headers": {
884
+ "type": "object",
885
+ "properties": {
886
+ "last-modified": {
887
+ "type": "string",
888
+ "format": "date-time"
889
+ },
890
+ "created-on": {
891
+ "type": "string",
892
+ "format": "date-time"
893
+ },
894
+ "updated-on": {
895
+ "type": "string",
896
+ "format": "date-time"
897
+ }
898
+ },
899
+ "required": ["last-modified", "created-on", "updated-on"]
900
+ }
901
+ },
902
+ "required": ["headers"],
903
+ "additionalProperties": false
904
+ },
905
+ "409": {
906
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
907
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/CreditAccountAdjustmentPutResponseConflict",
908
+ "type": "object",
909
+ "properties": {
910
+ "headers": {
911
+ "type": "object",
912
+ "additionalProperties": true
913
+ }
914
+ },
915
+ "required": [],
916
+ "additionalProperties": false
917
+ },
918
+ "default": {
919
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
920
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/CreditAccountAdjustmentPutResponseDefault",
921
+ "type": "object",
922
+ "properties": {
923
+ "headers": {
924
+ "type": "object",
925
+ "additionalProperties": true
926
+ },
927
+ "body": {
928
+ "$ref": "/teampay-client-management/v1/schemas/definitions/Error"
929
+ }
930
+ },
931
+ "required": ["body"],
932
+ "additionalProperties": false
933
+ }
934
+ }
935
+ }
936
+ },
937
+ "/teampay-client-management/v1/credit-account-payment/:entryId": {
938
+ "put": {
939
+ "request": {
940
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
941
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/CreditAccountPaymentPutRequestContext",
942
+ "type": "object",
943
+ "properties": {
944
+ "params": {
945
+ "type": "object",
946
+ "additionalProperties": false,
947
+ "properties": {
948
+ "entryId": {
949
+ "type": "string",
950
+ "format": "uuid"
951
+ }
952
+ },
953
+ "required": ["entryId"]
954
+ },
955
+ "headers": {
956
+ "type": "object",
957
+ "additionalProperties": true
958
+ },
959
+ "body": {
960
+ "$ref": "/teampay-client-management/v1/schemas/definitions/NewCreditAccountEntry"
961
+ }
962
+ },
963
+ "required": ["params", "body"],
964
+ "additionalProperties": false
965
+ },
966
+ "responses": {
967
+ "204": {
968
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
969
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/CreditAccountPaymentPutResponseNoContent",
970
+ "type": "object",
971
+ "properties": {
972
+ "headers": {
973
+ "type": "object",
974
+ "properties": {
975
+ "last-modified": {
976
+ "type": "string",
977
+ "format": "date-time"
978
+ },
979
+ "created-on": {
980
+ "type": "string",
981
+ "format": "date-time"
982
+ },
983
+ "updated-on": {
984
+ "type": "string",
985
+ "format": "date-time"
986
+ }
987
+ },
988
+ "required": ["last-modified", "created-on", "updated-on"]
989
+ }
990
+ },
991
+ "required": ["headers"],
992
+ "additionalProperties": false
993
+ },
994
+ "409": {
995
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
996
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/CreditAccountPaymentPutResponseConflict",
997
+ "type": "object",
998
+ "properties": {
999
+ "headers": {
1000
+ "type": "object",
1001
+ "additionalProperties": true
1002
+ }
1003
+ },
1004
+ "required": [],
1005
+ "additionalProperties": false
1006
+ },
1007
+ "default": {
1008
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1009
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/CreditAccountPaymentPutResponseDefault",
1010
+ "type": "object",
1011
+ "properties": {
1012
+ "headers": {
1013
+ "type": "object",
1014
+ "additionalProperties": true
1015
+ },
1016
+ "body": {
1017
+ "$ref": "/teampay-client-management/v1/schemas/definitions/Error"
1018
+ }
1019
+ },
1020
+ "required": ["body"],
1021
+ "additionalProperties": false
1022
+ }
1023
+ }
1024
+ }
1025
+ },
1026
+ "/teampay-client-management/v1/correction/:entryId": {
1027
+ "put": {
1028
+ "request": {
1029
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1030
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/CorrectionPutRequestContext",
1031
+ "type": "object",
1032
+ "properties": {
1033
+ "params": {
1034
+ "type": "object",
1035
+ "additionalProperties": false,
1036
+ "properties": {
1037
+ "entryId": {
1038
+ "type": "string",
1039
+ "format": "uuid"
1040
+ }
1041
+ },
1042
+ "required": ["entryId"]
1043
+ },
1044
+ "headers": {
1045
+ "type": "object",
1046
+ "additionalProperties": true
1047
+ },
1048
+ "body": {
1049
+ "$ref": "/teampay-client-management/v1/schemas/definitions/NewCorrectionAccountEntry"
1050
+ }
1051
+ },
1052
+ "required": ["params", "body"],
1053
+ "additionalProperties": false
1054
+ },
1055
+ "responses": {
1056
+ "204": {
1057
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1058
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/CorrectionPutResponseNoContent",
1059
+ "type": "object",
1060
+ "properties": {
1061
+ "headers": {
1062
+ "type": "object",
1063
+ "properties": {
1064
+ "last-modified": {
1065
+ "type": "string",
1066
+ "format": "date-time"
1067
+ },
1068
+ "created-on": {
1069
+ "type": "string",
1070
+ "format": "date-time"
1071
+ },
1072
+ "updated-on": {
1073
+ "type": "string",
1074
+ "format": "date-time"
1075
+ }
1076
+ },
1077
+ "required": ["last-modified", "created-on", "updated-on"]
1078
+ }
1079
+ },
1080
+ "required": ["headers"],
1081
+ "additionalProperties": false
1082
+ },
1083
+ "409": {
1084
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1085
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/CorrectionPutResponseConflict",
1086
+ "type": "object",
1087
+ "properties": {
1088
+ "headers": {
1089
+ "type": "object",
1090
+ "additionalProperties": true
1091
+ }
1092
+ },
1093
+ "required": [],
1094
+ "additionalProperties": false
1095
+ },
1096
+ "default": {
1097
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1098
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/api/CorrectionPutResponseDefault",
1099
+ "type": "object",
1100
+ "properties": {
1101
+ "headers": {
1102
+ "type": "object",
1103
+ "additionalProperties": true
1104
+ },
1105
+ "body": {
1106
+ "$ref": "/teampay-client-management/v1/schemas/definitions/Error"
1107
+ }
1108
+ },
1109
+ "required": ["body"],
1110
+ "additionalProperties": false
1111
+ }
1112
+ }
1113
+ }
1114
+ }
1115
+ },
1116
+ "definitions": {
1117
+ "Ping": {
1118
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1119
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/Ping",
1120
+ "type": "object",
1121
+ "additionalProperties": false,
1122
+ "required": ["serverTime"],
1123
+ "properties": {
1124
+ "serverTime": {
1125
+ "type": "string",
1126
+ "format": "date-time",
1127
+ "description": "Current server time"
1128
+ }
1129
+ }
1130
+ },
1131
+ "Error": {
1132
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1133
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/Error",
1134
+ "type": "object",
1135
+ "additionalProperties": false,
1136
+ "description": "Server error message",
1137
+ "properties": {
1138
+ "message": {
1139
+ "type": "string"
1140
+ },
1141
+ "code": {
1142
+ "type": "string"
1143
+ }
1144
+ }
1145
+ },
1146
+ "NewClient": {
1147
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1148
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/NewClient",
1149
+ "type": "object",
1150
+ "additionalProperties": false,
1151
+ "description": "New client request schema.",
1152
+ "required": ["name", "address", "issuingCountryCode", "products", "limits"],
1153
+ "properties": {
1154
+ "name": {
1155
+ "$ref": "/teampay-client-management/v1/schemas/definitions/Name"
1156
+ },
1157
+ "address": {
1158
+ "$ref": "/teampay-client-management/v1/schemas/definitions/Address"
1159
+ },
1160
+ "issuingCountryCode": {
1161
+ "$ref": "/teampay-client-management/v1/schemas/definitions/IssuingCountryCode"
1162
+ },
1163
+ "products": {
1164
+ "$ref": "/teampay-client-management/v1/schemas/definitions/Products"
1165
+ },
1166
+ "limits": {
1167
+ "$ref": "/teampay-client-management/v1/schemas/definitions/Limits"
1168
+ },
1169
+ "funding": {
1170
+ "$ref": "/teampay-client-management/v1/schemas/definitions/Funding"
1171
+ },
1172
+ "active": {
1173
+ "$ref": "/teampay-client-management/v1/schemas/definitions/ActiveStatus"
1174
+ },
1175
+ "subsidiaryOf": {
1176
+ "$ref": "/teampay-client-management/v1/schemas/definitions/SubsidiaryOf"
1177
+ }
1178
+ }
1179
+ },
1180
+ "Client": {
1181
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1182
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/Client",
1183
+ "type": "object",
1184
+ "additionalProperties": false,
1185
+ "description": "Client Schema.",
1186
+ "required": [
1187
+ "name",
1188
+ "address",
1189
+ "issuingCountryCode",
1190
+ "limits",
1191
+ "products",
1192
+ "clientAccountId",
1193
+ "lastModified",
1194
+ "createdOn",
1195
+ "funding",
1196
+ "active",
1197
+ "configurationId"
1198
+ ],
1199
+ "properties": {
1200
+ "name": {
1201
+ "$ref": "/teampay-client-management/v1/schemas/definitions/Name"
1202
+ },
1203
+ "address": {
1204
+ "$ref": "/teampay-client-management/v1/schemas/definitions/Address"
1205
+ },
1206
+ "issuingCountryCode": {
1207
+ "$ref": "/teampay-client-management/v1/schemas/definitions/IssuingCountryCode"
1208
+ },
1209
+ "limits": {
1210
+ "$ref": "/teampay-client-management/v1/schemas/definitions/Limits"
1211
+ },
1212
+ "products": {
1213
+ "$ref": "/teampay-client-management/v1/schemas/definitions/Products"
1214
+ },
1215
+ "clientAccountId": {
1216
+ "type": "string",
1217
+ "description": "The ledger account that holds the funds which are spendable by cardholders linked to the client."
1218
+ },
1219
+ "lastModified": {
1220
+ "$ref": "/teampay-client-management/v1/schemas/definitions/LastModified"
1221
+ },
1222
+ "createdOn": {
1223
+ "$ref": "/teampay-client-management/v1/schemas/definitions/CreatedOn"
1224
+ },
1225
+ "updatedOn": {
1226
+ "$ref": "/teampay-client-management/v1/schemas/definitions/UpdatedOn"
1227
+ },
1228
+ "funding": {
1229
+ "$ref": "/teampay-client-management/v1/schemas/definitions/Funding"
1230
+ },
1231
+ "active": {
1232
+ "$ref": "/teampay-client-management/v1/schemas/definitions/ActiveStatus"
1233
+ },
1234
+ "configurationId": {
1235
+ "type": "string",
1236
+ "description": "The unique identifier for the client's configuration data."
1237
+ },
1238
+ "subsidiaryOf": {
1239
+ "$ref": "/teampay-client-management/v1/schemas/definitions/SubsidiaryOf"
1240
+ }
1241
+ }
1242
+ },
1243
+ "Products": {
1244
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1245
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/Products",
1246
+ "type": "array",
1247
+ "minItems": 1,
1248
+ "description": "Array of products that are applicable to the client",
1249
+ "items": {
1250
+ "$ref": "/teampay-client-management/v1/schemas/definitions/Product"
1251
+ }
1252
+ },
1253
+ "IssuingCountryCode": {
1254
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1255
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/IssuingCountryCode",
1256
+ "type": "string",
1257
+ "description": "The country in which the cards are issued",
1258
+ "enum": ["US", "CA"]
1259
+ },
1260
+ "Limits": {
1261
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1262
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/Limits",
1263
+ "type": "array",
1264
+ "minItems": 0,
1265
+ "description": "An array of limits that apply at the organization level.\nThe organization level represents the combined total of all card transactions for the client.\n",
1266
+ "items": {
1267
+ "$ref": "/teampay-client-management/v1/schemas/definitions/Limit"
1268
+ }
1269
+ },
1270
+ "Limit": {
1271
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1272
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/Limit",
1273
+ "type": "object",
1274
+ "additionalProperties": false,
1275
+ "description": "Limit Details\n- There can only be one limit per client for each period, periodLength, and limitFunction combination.\n Multiple limits with the same values for the combination of properties listed above will result in a 400 Bad Request.\n",
1276
+ "required": ["period", "periodLength", "limitFunction", "value"],
1277
+ "properties": {
1278
+ "period": {
1279
+ "$ref": "/teampay-client-management/v1/schemas/definitions/Period"
1280
+ },
1281
+ "periodLength": {
1282
+ "$ref": "/teampay-client-management/v1/schemas/definitions/PeriodLength"
1283
+ },
1284
+ "limitFunction": {
1285
+ "$ref": "/teampay-client-management/v1/schemas/definitions/LimitFunction"
1286
+ },
1287
+ "value": {
1288
+ "$ref": "/teampay-client-management/v1/schemas/definitions/LimitValue"
1289
+ }
1290
+ }
1291
+ },
1292
+ "Period": {
1293
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1294
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/Period",
1295
+ "type": "string",
1296
+ "description": "DAY is a calendar day and will begin at 00:00:00 UTC.\nMONTH is a calendar month and will begin on the first day of the month at 00:00:00 UTC.\nAll periods are rolling if the associated periodLength is greater than 1\n",
1297
+ "enum": ["DAY", "MONTH"]
1298
+ },
1299
+ "LimitFunction": {
1300
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1301
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/LimitFunction",
1302
+ "type": "string",
1303
+ "description": "AMOUNT functions by summing up the aggregate data point values.",
1304
+ "enum": ["AMOUNT"]
1305
+ },
1306
+ "Product": {
1307
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1308
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/Product",
1309
+ "type": "string",
1310
+ "description": "Type of card product",
1311
+ "enum": ["VIRTUAL", "STANDARD", "PREMIUM"]
1312
+ },
1313
+ "PeriodLength": {
1314
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1315
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/PeriodLength",
1316
+ "type": "string",
1317
+ "pattern": "^\\d+$",
1318
+ "minLength": 1,
1319
+ "description": "How long the period lasts"
1320
+ },
1321
+ "LimitValue": {
1322
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1323
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/LimitValue",
1324
+ "type": "string",
1325
+ "pattern": "^\\d+$",
1326
+ "minLength": 1,
1327
+ "description": "Limit value to use. The value is expected to be in cents."
1328
+ },
1329
+ "Name": {
1330
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1331
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/Name",
1332
+ "type": "string",
1333
+ "description": "The name of the client.",
1334
+ "minLength": 1
1335
+ },
1336
+ "NewClientAchPaymentSource": {
1337
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1338
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/NewClientAchPaymentSource",
1339
+ "type": "object",
1340
+ "additionalProperties": false,
1341
+ "description": "New client ACH payment source details",
1342
+ "required": ["clientId", "achPaymentSource", "transmissionKey"],
1343
+ "properties": {
1344
+ "clientId": {
1345
+ "$ref": "/teampay-client-management/v1/schemas/definitions/ClientId"
1346
+ },
1347
+ "achPaymentSource": {
1348
+ "$ref": "/teampay-client-management/v1/schemas/definitions/AchPaymentSource"
1349
+ },
1350
+ "transmissionKey": {
1351
+ "$ref": "/teampay-client-management/v1/schemas/definitions/TransmissionKey"
1352
+ }
1353
+ }
1354
+ },
1355
+ "ClientId": {
1356
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1357
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/ClientId",
1358
+ "type": "string",
1359
+ "description": "The Unique identifier for the client in uuid format",
1360
+ "format": "uuid"
1361
+ },
1362
+ "CreatedOn": {
1363
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1364
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/CreatedOn",
1365
+ "type": "string",
1366
+ "format": "date-time",
1367
+ "description": "Original created on date time"
1368
+ },
1369
+ "LastModified": {
1370
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1371
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/LastModified",
1372
+ "type": "string",
1373
+ "format": "date-time",
1374
+ "description": "Resource last modified date time"
1375
+ },
1376
+ "UpdatedOn": {
1377
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1378
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/UpdatedOn",
1379
+ "type": "string",
1380
+ "format": "date-time",
1381
+ "description": "Resource last modified date time"
1382
+ },
1383
+ "AchPaymentSource": {
1384
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1385
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/AchPaymentSource",
1386
+ "type": "object",
1387
+ "additionalProperties": false,
1388
+ "description": "ACH Payment Source",
1389
+ "required": ["accountName", "accountType", "accountNumber", "routingNumber"],
1390
+ "properties": {
1391
+ "accountName": {
1392
+ "$ref": "/teampay-client-management/v1/schemas/definitions/AccountName"
1393
+ },
1394
+ "accountType": {
1395
+ "$ref": "/teampay-client-management/v1/schemas/definitions/AccountType"
1396
+ },
1397
+ "accountNumber": {
1398
+ "$ref": "/teampay-client-management/v1/schemas/definitions/AccountNumber"
1399
+ },
1400
+ "routingNumber": {
1401
+ "$ref": "/teampay-client-management/v1/schemas/definitions/RoutingNumber"
1402
+ }
1403
+ }
1404
+ },
1405
+ "AccountName": {
1406
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1407
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/AccountName",
1408
+ "type": "string",
1409
+ "description": "Name of the account owner, encrypted. The following conditions not being met will result in a 400 Bad Request:\n- Must be less than or equal to 22 characters long\n- Must contain only alphanumeric and space characters\n",
1410
+ "minLength": 1
1411
+ },
1412
+ "AccountType": {
1413
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1414
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/AccountType",
1415
+ "type": "string",
1416
+ "description": "Type of account",
1417
+ "minLength": 1,
1418
+ "enum": ["CHECKING", "SAVINGS"]
1419
+ },
1420
+ "AccountNumber": {
1421
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1422
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/AccountNumber",
1423
+ "type": "string",
1424
+ "description": "Account number, encrypted. The following conditions not being met will result in a 400 Bad Request:\n- Must be less than or equal to 17 characters long\n- Must contain only numerical digits\n- Must not only contain zeros\n",
1425
+ "minLength": 1
1426
+ },
1427
+ "RoutingNumber": {
1428
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1429
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/RoutingNumber",
1430
+ "type": "string",
1431
+ "description": "Routing number, encrypted. The following conditions not being met will result in a 400 Bad Request:\n- Must be a valid bank routing number\n- Must be 9 characters\n- Must contain only numerical digits\n- Must not only contain zeros\n",
1432
+ "minLength": 1
1433
+ },
1434
+ "ClientAchPaymentSource": {
1435
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1436
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/ClientAchPaymentSource",
1437
+ "type": "object",
1438
+ "additionalProperties": false,
1439
+ "description": "Client ACH Payment Source Details",
1440
+ "required": [
1441
+ "achPaymentSourceId",
1442
+ "clientId",
1443
+ "transmissionKey",
1444
+ "storageKeyId",
1445
+ "achPaymentSource",
1446
+ "lastModified",
1447
+ "createdOn"
1448
+ ],
1449
+ "properties": {
1450
+ "achPaymentSourceId": {
1451
+ "$ref": "/teampay-client-management/v1/schemas/definitions/AchPaymentSourceId"
1452
+ },
1453
+ "clientId": {
1454
+ "$ref": "/teampay-client-management/v1/schemas/definitions/ClientId"
1455
+ },
1456
+ "transmissionKey": {
1457
+ "$ref": "/teampay-client-management/v1/schemas/definitions/TransmissionKey"
1458
+ },
1459
+ "storageKeyId": {
1460
+ "$ref": "/teampay-client-management/v1/schemas/definitions/StorageKeyId"
1461
+ },
1462
+ "achPaymentSource": {
1463
+ "$ref": "/teampay-client-management/v1/schemas/definitions/AchPaymentSource"
1464
+ },
1465
+ "lastModified": {
1466
+ "$ref": "/teampay-client-management/v1/schemas/definitions/LastModified"
1467
+ },
1468
+ "createdOn": {
1469
+ "$ref": "/teampay-client-management/v1/schemas/definitions/CreatedOn"
1470
+ },
1471
+ "updatedOn": {
1472
+ "$ref": "/teampay-client-management/v1/schemas/definitions/UpdatedOn"
1473
+ }
1474
+ }
1475
+ },
1476
+ "NewPayment": {
1477
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1478
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/NewPayment",
1479
+ "type": "object",
1480
+ "additionalProperties": false,
1481
+ "description": "Payment details",
1482
+ "required": ["paymentSourceId", "clientId", "amount"],
1483
+ "properties": {
1484
+ "paymentSourceId": {
1485
+ "type": "string",
1486
+ "description": "Identifier of a payment source from/to which funds are requested/paid.\nThe payment source must be associated with the client whose clientId is being submitted in the request or\na 400 Bad Request will be returned.\n"
1487
+ },
1488
+ "clientId": {
1489
+ "type": "string",
1490
+ "description": "The client whose account will be DEBITED/CREDITED funds from/to when the request/pay transaction is accepted."
1491
+ },
1492
+ "amount": {
1493
+ "type": "string",
1494
+ "pattern": "^[1-9]\\d*$",
1495
+ "minLength": 1,
1496
+ "maxLength": 9,
1497
+ "description": "The amount to be credited or debited.\nThe value is expected to be in cents.\nAs an example, a value of 100 would be equal to 1 dollar\n"
1498
+ },
1499
+ "companyEntryDescription": {
1500
+ "$ref": "/teampay-client-management/v1/schemas/definitions/CompanyEntryDescription"
1501
+ }
1502
+ }
1503
+ },
1504
+ "AchPaymentSourceId": {
1505
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1506
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/AchPaymentSourceId",
1507
+ "type": "string",
1508
+ "description": "Identifier for the ACH payment source",
1509
+ "format": "uuid"
1510
+ },
1511
+ "Address": {
1512
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1513
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/Address",
1514
+ "description": "The business address of the client. This will be the address used by the Address Verification Service",
1515
+ "required": ["country", "streetLines"],
1516
+ "type": "object",
1517
+ "properties": {
1518
+ "streetLines": {
1519
+ "maxItems": 4,
1520
+ "minItems": 1,
1521
+ "type": "array",
1522
+ "description": "Street lines",
1523
+ "items": {
1524
+ "minLength": 1,
1525
+ "type": "string",
1526
+ "description": "Street line"
1527
+ }
1528
+ },
1529
+ "city": {
1530
+ "minLength": 1,
1531
+ "type": "string",
1532
+ "description": "City"
1533
+ },
1534
+ "region": {
1535
+ "minLength": 1,
1536
+ "type": "string",
1537
+ "description": "Region, State or Provence"
1538
+ },
1539
+ "postalCode": {
1540
+ "minLength": 1,
1541
+ "type": "string",
1542
+ "description": "Postal or zip code"
1543
+ },
1544
+ "reportablePostalCode": {
1545
+ "type": "string",
1546
+ "description": "Postal code for reporting purposes."
1547
+ },
1548
+ "country": {
1549
+ "type": "string",
1550
+ "description": "Country ISO 3166-1 alpha-2 codes",
1551
+ "enum": [
1552
+ "AD",
1553
+ "AE",
1554
+ "AF",
1555
+ "AG",
1556
+ "AI",
1557
+ "AL",
1558
+ "AM",
1559
+ "AO",
1560
+ "AQ",
1561
+ "AR",
1562
+ "AS",
1563
+ "AT",
1564
+ "AU",
1565
+ "AW",
1566
+ "AX",
1567
+ "AZ",
1568
+ "BA",
1569
+ "BB",
1570
+ "BD",
1571
+ "BE",
1572
+ "BF",
1573
+ "BG",
1574
+ "BH",
1575
+ "BI",
1576
+ "BJ",
1577
+ "BL",
1578
+ "BM",
1579
+ "BN",
1580
+ "BO",
1581
+ "BQ",
1582
+ "BR",
1583
+ "BS",
1584
+ "BT",
1585
+ "BV",
1586
+ "BW",
1587
+ "BY",
1588
+ "BZ",
1589
+ "CA",
1590
+ "CC",
1591
+ "CD",
1592
+ "CF",
1593
+ "CG",
1594
+ "CH",
1595
+ "CI",
1596
+ "CK",
1597
+ "CL",
1598
+ "CM",
1599
+ "CN",
1600
+ "CO",
1601
+ "CR",
1602
+ "CU",
1603
+ "CV",
1604
+ "CW",
1605
+ "CX",
1606
+ "CY",
1607
+ "CZ",
1608
+ "DE",
1609
+ "DJ",
1610
+ "DK",
1611
+ "DM",
1612
+ "DO",
1613
+ "DZ",
1614
+ "EC",
1615
+ "EE",
1616
+ "EG",
1617
+ "EH",
1618
+ "ER",
1619
+ "ES",
1620
+ "ET",
1621
+ "FI",
1622
+ "FJ",
1623
+ "FK",
1624
+ "FM",
1625
+ "FO",
1626
+ "FR",
1627
+ "GA",
1628
+ "GB",
1629
+ "GD",
1630
+ "GE",
1631
+ "GF",
1632
+ "GG",
1633
+ "GH",
1634
+ "GI",
1635
+ "GL",
1636
+ "GM",
1637
+ "GN",
1638
+ "GP",
1639
+ "GQ",
1640
+ "GR",
1641
+ "GS",
1642
+ "GT",
1643
+ "GU",
1644
+ "GW",
1645
+ "GY",
1646
+ "HK",
1647
+ "HM",
1648
+ "HN",
1649
+ "HR",
1650
+ "HT",
1651
+ "HU",
1652
+ "ID",
1653
+ "IE",
1654
+ "IL",
1655
+ "IM",
1656
+ "IN",
1657
+ "IO",
1658
+ "IQ",
1659
+ "IR",
1660
+ "IS",
1661
+ "IT",
1662
+ "JE",
1663
+ "JM",
1664
+ "JO",
1665
+ "JP",
1666
+ "KE",
1667
+ "KG",
1668
+ "KH",
1669
+ "KI",
1670
+ "KM",
1671
+ "KN",
1672
+ "KP",
1673
+ "KR",
1674
+ "KW",
1675
+ "KY",
1676
+ "KZ",
1677
+ "LA",
1678
+ "LB",
1679
+ "LC",
1680
+ "LI",
1681
+ "LK",
1682
+ "LR",
1683
+ "LS",
1684
+ "LT",
1685
+ "LU",
1686
+ "LV",
1687
+ "LY",
1688
+ "MA",
1689
+ "MC",
1690
+ "MD",
1691
+ "ME",
1692
+ "MF",
1693
+ "MG",
1694
+ "MH",
1695
+ "MK",
1696
+ "ML",
1697
+ "MM",
1698
+ "MN",
1699
+ "MO",
1700
+ "MP",
1701
+ "MQ",
1702
+ "MR",
1703
+ "MS",
1704
+ "MT",
1705
+ "MU",
1706
+ "MV",
1707
+ "MW",
1708
+ "MX",
1709
+ "MY",
1710
+ "MZ",
1711
+ "NA",
1712
+ "NC",
1713
+ "NE",
1714
+ "NF",
1715
+ "NG",
1716
+ "NI",
1717
+ "NL",
1718
+ "NO",
1719
+ "NP",
1720
+ "NR",
1721
+ "NU",
1722
+ "NZ",
1723
+ "OM",
1724
+ "PA",
1725
+ "PE",
1726
+ "PF",
1727
+ "PG",
1728
+ "PH",
1729
+ "PK",
1730
+ "PL",
1731
+ "PM",
1732
+ "PN",
1733
+ "PR",
1734
+ "PS",
1735
+ "PT",
1736
+ "PW",
1737
+ "PY",
1738
+ "QA",
1739
+ "RE",
1740
+ "RO",
1741
+ "RS",
1742
+ "RU",
1743
+ "RW",
1744
+ "SA",
1745
+ "SB",
1746
+ "SC",
1747
+ "SD",
1748
+ "SE",
1749
+ "SG",
1750
+ "SH",
1751
+ "SI",
1752
+ "SJ",
1753
+ "SK",
1754
+ "SL",
1755
+ "SM",
1756
+ "SN",
1757
+ "SO",
1758
+ "SR",
1759
+ "SS",
1760
+ "ST",
1761
+ "SV",
1762
+ "SX",
1763
+ "SY",
1764
+ "SZ",
1765
+ "TC",
1766
+ "TD",
1767
+ "TF",
1768
+ "TG",
1769
+ "TH",
1770
+ "TJ",
1771
+ "TK",
1772
+ "TL",
1773
+ "TM",
1774
+ "TN",
1775
+ "TO",
1776
+ "TR",
1777
+ "TT",
1778
+ "TV",
1779
+ "TW",
1780
+ "TZ",
1781
+ "UA",
1782
+ "UG",
1783
+ "UM",
1784
+ "US",
1785
+ "UY",
1786
+ "UZ",
1787
+ "VA",
1788
+ "VC",
1789
+ "VE",
1790
+ "VG",
1791
+ "VI",
1792
+ "VN",
1793
+ "VU",
1794
+ "WF",
1795
+ "WS",
1796
+ "YE",
1797
+ "YT",
1798
+ "ZA",
1799
+ "ZM",
1800
+ "ZW"
1801
+ ]
1802
+ }
1803
+ }
1804
+ },
1805
+ "StorageKeyId": {
1806
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1807
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/StorageKeyId",
1808
+ "type": "string",
1809
+ "description": "DEK's non-derived identifier to be used by Check Digit services only.\n"
1810
+ },
1811
+ "TransmissionKey": {
1812
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1813
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/TransmissionKey",
1814
+ "description": "The Encrypted version of the AES-256 DEK",
1815
+ "type": "string"
1816
+ },
1817
+ "ClientBalance": {
1818
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1819
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/ClientBalance",
1820
+ "type": "object",
1821
+ "additionalProperties": false,
1822
+ "description": "Client account balance details.\n- The currency of the balances are according to the issuingCountryCode of the client: USD for 'US' and CAD for 'CA'.\n- The balance values are to the smallest decimal place for that currency. For example, 100 US Dollars would show as 10000.\n- Negative balance values will have a '-' character in front of the value.\n",
1823
+ "required": ["at", "ledgerBalance", "availableBalance"],
1824
+ "properties": {
1825
+ "at": {
1826
+ "type": "string",
1827
+ "format": "date-time",
1828
+ "description": "The date/time that the balances apply to."
1829
+ },
1830
+ "ledgerBalance": {
1831
+ "type": "string",
1832
+ "minLength": 1,
1833
+ "description": "Ledger balance of the client account. This value does not take into account any pending transactions."
1834
+ },
1835
+ "availableBalance": {
1836
+ "type": "string",
1837
+ "minLength": 1,
1838
+ "description": "Available balance of the client account. This value takes into account pending transactions."
1839
+ }
1840
+ }
1841
+ },
1842
+ "Funding": {
1843
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1844
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/Funding",
1845
+ "type": "string",
1846
+ "description": "The way in which client accounts will be funded.\n- The default value is ACH if not supplied when creating a client\n- Credit clients are not permitted to create ach payment sources, a 400 Bad Request will be returned\n- ACH clients are not permitted to create credit account entries, a 400 Bad request will be returned\n",
1847
+ "enum": ["ACH", "CREDIT"]
1848
+ },
1849
+ "NewCreditAccountEntry": {
1850
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1851
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/NewCreditAccountEntry",
1852
+ "type": "object",
1853
+ "additionalProperties": false,
1854
+ "description": "Credit account entry details",
1855
+ "required": ["clientId", "transactionType", "amount"],
1856
+ "properties": {
1857
+ "clientId": {
1858
+ "type": "string",
1859
+ "description": "The client whose credit balance will be adjusted by the specified amount."
1860
+ },
1861
+ "transactionType": {
1862
+ "type": "string",
1863
+ "description": "Credit or Debit. Please note that the available credit balance may go negative if the DEBIT amount is greater than the current available credit balance.\n- CREDIT will raise the available credit balance by the requested amount\n- DEBIT will lower the available credit balance by the requested amount\n",
1864
+ "enum": ["CREDIT", "DEBIT"]
1865
+ },
1866
+ "amount": {
1867
+ "type": "string",
1868
+ "pattern": "^[1-9]\\d*$",
1869
+ "minLength": 1,
1870
+ "description": "The amount to be credited to or debited from the available credit balance\nThe value is expected to be in cents.\nAs an example, a value of 100 would be equal to 1 dollar\n"
1871
+ }
1872
+ }
1873
+ },
1874
+ "NewCorrectionAccountEntry": {
1875
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1876
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/NewCorrectionAccountEntry",
1877
+ "type": "object",
1878
+ "additionalProperties": false,
1879
+ "description": "Correction account entry details",
1880
+ "required": ["clientId", "transactionType", "amount", "purpose"],
1881
+ "properties": {
1882
+ "clientId": {
1883
+ "type": "string",
1884
+ "description": "The client whose available balance will be adjusted by the specified amount."
1885
+ },
1886
+ "transactionType": {
1887
+ "type": "string",
1888
+ "description": "Credit or Debit. Please note that the client balance may go negative if the DEBIT amount is greater than the current available client balance.\n- CREDIT will raise the available client balance by the requested amount\n- DEBIT will lower the available client balance by the requested amount\n",
1889
+ "enum": ["CREDIT", "DEBIT"]
1890
+ },
1891
+ "amount": {
1892
+ "type": "string",
1893
+ "pattern": "^[1-9]\\d*$",
1894
+ "minLength": 1,
1895
+ "description": "The amount to be credited to or debited from the available client balance\nThe value is expected to be in cents.\nAs an example, a value of 100 would be equal to 1 dollar\n"
1896
+ },
1897
+ "purpose": {
1898
+ "type": "object",
1899
+ "description": "The purpose for the correction. This will be JSON stringified to form the name of the correction entry account."
1900
+ }
1901
+ }
1902
+ },
1903
+ "EntryId": {
1904
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1905
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/EntryId",
1906
+ "type": "string",
1907
+ "description": "Ledger entryId associated with a paymentId"
1908
+ },
1909
+ "PayOrRequestPaymentResponse": {
1910
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1911
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/PayOrRequestPaymentResponse",
1912
+ "type": "object",
1913
+ "additionalProperties": false,
1914
+ "required": ["entryId", "traceNumber"],
1915
+ "properties": {
1916
+ "entryId": {
1917
+ "$ref": "/teampay-client-management/v1/schemas/definitions/EntryId"
1918
+ },
1919
+ "referenceId": {
1920
+ "type": "string",
1921
+ "description": "Hash value of the paymentId, if the payment source destination does not allow passing in the UUID"
1922
+ },
1923
+ "traceNumber": {
1924
+ "type": "string",
1925
+ "description": "Uniquely identifies each Entry Detail Record within an ACH batch file."
1926
+ }
1927
+ }
1928
+ },
1929
+ "CancelPaymentResponse": {
1930
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1931
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/CancelPaymentResponse",
1932
+ "type": "object",
1933
+ "additionalProperties": false,
1934
+ "required": ["entryId"],
1935
+ "properties": {
1936
+ "entryId": {
1937
+ "$ref": "/teampay-client-management/v1/schemas/definitions/EntryId"
1938
+ }
1939
+ }
1940
+ },
1941
+ "ActiveStatus": {
1942
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1943
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/ActiveStatus",
1944
+ "type": "string",
1945
+ "description": "The client's active status\n- The value is set to ACTIVE by default if not present when creating a client\n- All new incoming card preauthorization and tokenization requests will be declined for INACTIVE clients\n",
1946
+ "enum": ["ACTIVE", "INACTIVE"]
1947
+ },
1948
+ "SubsidiaryOf": {
1949
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1950
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/SubsidiaryOf",
1951
+ "type": "string",
1952
+ "description": "Used to indicate the client is a subsidiary of another client\n- This value must be set to a client ID of a client that is not already a subsidiary of another client\n- An attempt to change the value of this field once set will result in a 400 Bad Request\n",
1953
+ "format": "uuid"
1954
+ },
1955
+ "CompanyEntryDescription": {
1956
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1957
+ "$id": "https://eslint-plugin.checkdigit/teampay-client-management/v1/schemas/definitions/CompanyEntryDescription",
1958
+ "type": "string",
1959
+ "description": "Purpose or intent of the payment",
1960
+ "minLength": 1,
1961
+ "maxLength": 10
1962
+ }
1963
+ }
1964
+ }