@checkdigit/eslint-plugin 7.18.0-PR.143-072f → 7.18.0-PR.143-518d

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.
@@ -1,85 +1,12 @@
1
1
  {
2
2
  "apis": {
3
- "/payment-card/v2/ping": {
4
- "get": {
5
- "request": {
6
- "$schema": "https://json-schema.org/draft/2020-12/schema",
7
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/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/payment-card/v2/schemas/api/PingGetResponseOK",
22
- "type": "object",
23
- "properties": {
24
- "headers": {
25
- "type": "object",
26
- "additionalProperties": true
27
- },
28
- "body": {
29
- "$schema": "https://json-schema.org/draft/2020-12/schema",
30
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/Ping",
31
- "type": "object",
32
- "additionalProperties": false,
33
- "required": ["serverTime"],
34
- "properties": {
35
- "serverTime": {
36
- "type": "string",
37
- "format": "date-time",
38
- "description": "Current server time",
39
- "example": "1970-01-01T00:00:00.000Z"
40
- }
41
- }
42
- }
43
- },
44
- "required": ["body"],
45
- "additionalProperties": false
46
- },
47
- "default": {
48
- "$schema": "https://json-schema.org/draft/2020-12/schema",
49
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/api/PingGetResponseDefault",
50
- "type": "object",
51
- "properties": {
52
- "headers": {
53
- "type": "object",
54
- "additionalProperties": true
55
- },
56
- "body": {
57
- "$schema": "https://json-schema.org/draft/2020-12/schema",
58
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/Error",
59
- "type": "object",
60
- "additionalProperties": false,
61
- "description": "Server error message",
62
- "properties": {
63
- "message": {
64
- "type": "string"
65
- },
66
- "code": {
67
- "type": "string"
68
- }
69
- }
70
- }
71
- },
72
- "required": ["body"],
73
- "additionalProperties": false
74
- }
75
- }
76
- }
77
- },
78
- "/payment-card/v2/tenant/:tenantId/public-key": {
79
- "get": {
3
+ "/payment-card/v2/ping": {},
4
+ "/payment-card/v2/tenant/:tenantId/public-key": {},
5
+ "/payment-card/v2/tenant/:tenantId/data-encryption-key/:dataEncryptionKeyId": {
6
+ "put": {
80
7
  "request": {
81
8
  "$schema": "https://json-schema.org/draft/2020-12/schema",
82
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/api/PublicKeyGetRequestContext",
9
+ "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/api/DataEncryptionKeyPutRequestContext",
83
10
  "type": "object",
84
11
  "properties": {
85
12
  "params": {
@@ -88,45 +15,30 @@
88
15
  "properties": {
89
16
  "tenantId": {
90
17
  "type": "string"
18
+ },
19
+ "dataEncryptionKeyId": {
20
+ "type": "string",
21
+ "format": "uuid"
91
22
  }
92
23
  },
93
- "required": ["tenantId"]
24
+ "required": ["tenantId", "dataEncryptionKeyId"]
94
25
  },
95
26
  "headers": {
96
27
  "type": "object",
97
28
  "additionalProperties": true
98
- }
99
- },
100
- "required": ["params"],
101
- "additionalProperties": false
102
- },
103
- "responses": {
104
- "200": {
105
- "$schema": "https://json-schema.org/draft/2020-12/schema",
106
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/api/PublicKeyGetResponseOK",
107
- "type": "object",
108
- "properties": {
109
- "headers": {
110
- "type": "object",
111
- "properties": {
112
- "created-on": {
113
- "type": "string",
114
- "format": "date-time"
115
- },
116
- "updated-on": {
117
- "type": "string",
118
- "format": "date-time"
119
- }
120
- }
121
- },
122
- "body": {
123
- "$schema": "https://json-schema.org/draft/2020-12/schema",
124
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/PublicKeyResponse",
125
- "description": "This object contains the rsa generated public key for the Payment Card Service. This public key must be used\nwhen transmitting encrypted data to Payment Card Service APIs.\n",
126
- "type": "object",
127
- "required": ["publicKey"],
128
- "properties": {
129
- "publicKey": {
29
+ },
30
+ "body": {
31
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
32
+ "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/DataEncryptionKeyRequest",
33
+ "type": "object",
34
+ "additionalProperties": false,
35
+ "required": ["publicKeys"],
36
+ "properties": {
37
+ "publicKeys": {
38
+ "type": "array",
39
+ "minItems": 1,
40
+ "description": "List of public keys in PEM format.\n\nAssociated private keys can be used to decrypt card data encrypted by Payment Card Service.\n",
41
+ "items": {
130
42
  "$schema": "https://json-schema.org/draft/2020-12/schema",
131
43
  "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/PublicKey",
132
44
  "description": "Public key in PEM format",
@@ -135,74 +47,15 @@
135
47
  }
136
48
  }
137
49
  }
138
- },
139
- "required": ["body"],
140
- "additionalProperties": false
141
- },
142
- "default": {
143
- "$schema": "https://json-schema.org/draft/2020-12/schema",
144
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/api/PublicKeyGetResponseDefault",
145
- "type": "object",
146
- "properties": {
147
- "headers": {
148
- "type": "object",
149
- "additionalProperties": true
150
- },
151
- "body": {
152
- "$schema": "https://json-schema.org/draft/2020-12/schema",
153
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/Error",
154
- "type": "object",
155
- "additionalProperties": false,
156
- "description": "Server error message",
157
- "properties": {
158
- "message": {
159
- "type": "string"
160
- },
161
- "code": {
162
- "type": "string"
163
- }
164
- }
165
- }
166
- },
167
- "required": ["body"],
168
- "additionalProperties": false
169
- }
170
- }
171
- }
172
- },
173
- "/payment-card/v2/tenant/:tenantId/data-encryption-key/:dataEncryptionKeyId": {
174
- "get": {
175
- "request": {
176
- "$schema": "https://json-schema.org/draft/2020-12/schema",
177
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/api/DataEncryptionKeyGetRequestContext",
178
- "type": "object",
179
- "properties": {
180
- "params": {
181
- "type": "object",
182
- "additionalProperties": false,
183
- "properties": {
184
- "tenantId": {
185
- "type": "string"
186
- },
187
- "dataEncryptionKeyId": {
188
- "type": "string",
189
- "format": "uuid"
190
- }
191
- },
192
- "required": ["tenantId", "dataEncryptionKeyId"]
193
- },
194
- "headers": {
195
- "type": "object",
196
- "additionalProperties": true
197
50
  }
198
51
  },
199
- "required": ["params"],
52
+ "required": ["params", "body"],
200
53
  "additionalProperties": false
201
54
  },
202
55
  "responses": {
203
56
  "200": {
204
57
  "$schema": "https://json-schema.org/draft/2020-12/schema",
205
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/api/DataEncryptionKeyGetResponseOK",
58
+ "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/api/DataEncryptionKeyPutResponseOK",
206
59
  "type": "object",
207
60
  "properties": {
208
61
  "headers": {
@@ -221,643 +74,34 @@
221
74
  "body": {
222
75
  "$schema": "https://json-schema.org/draft/2020-12/schema",
223
76
  "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/DataEncryptionKeyResponse",
224
- "type": "object",
225
- "required": ["encryptedDataEncryptionKeys", "createdOn"],
226
- "properties": {
227
- "createdOn": {
228
- "description": "Time data was first stored",
229
- "type": "string",
230
- "format": "date-time"
231
- },
232
- "encryptedDataEncryptionKeys": {
233
- "type": "array",
234
- "items": {
235
- "type": "object",
236
- "additionalProperties": false,
237
- "description": "An object that includes an encrypted data encryption key and a hashed version of the public key used to encrypt it.\nThe publicKeyHash string is derived using @checkdigit/hash and the caller's public key included in DataEncryptionKeyRequest.\n",
238
- "required": ["publicKeyHash", "encryptedDataEncryptionKey"],
239
- "properties": {
240
- "publicKeyHash": {
241
- "$schema": "https://json-schema.org/draft/2020-12/schema",
242
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/Hash",
243
- "type": "string",
244
- "format": "uuid",
245
- "example": "15a85f64-5717-4562-b3fc-2c963f66afa6",
246
- "description": "UUID derived using @checkdigit/hash"
247
- },
248
- "encryptedDataEncryptionKey": {
249
- "type": "string",
250
- "description": "RSA encrypted data encryption key used to AES sensitive data in the Card object."
251
- }
252
- }
253
- }
254
- }
255
- }
256
- }
257
- },
258
- "required": ["body"],
259
- "additionalProperties": false
260
- },
261
- "404": {
262
- "$schema": "https://json-schema.org/draft/2020-12/schema",
263
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/api/DataEncryptionKeyGetResponseNotFound",
264
- "type": "object",
265
- "properties": {
266
- "headers": {
267
- "type": "object",
268
- "additionalProperties": true
269
- }
270
- },
271
- "required": [],
272
- "additionalProperties": false
273
- },
274
- "default": {
275
- "$schema": "https://json-schema.org/draft/2020-12/schema",
276
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/api/DataEncryptionKeyGetResponseDefault",
277
- "type": "object",
278
- "properties": {
279
- "headers": {
280
- "type": "object",
281
- "additionalProperties": true
282
- },
283
- "body": {
284
- "$schema": "https://json-schema.org/draft/2020-12/schema",
285
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/Error",
286
- "type": "object",
287
- "additionalProperties": false,
288
- "description": "Server error message",
289
- "properties": {
290
- "message": {
291
- "type": "string"
292
- },
293
- "code": {
294
- "type": "string"
295
- }
296
- }
297
- }
298
- },
299
- "required": ["body"],
300
- "additionalProperties": false
301
- }
302
- }
303
- },
304
- "put": {
305
- "request": {
306
- "$schema": "https://json-schema.org/draft/2020-12/schema",
307
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/api/DataEncryptionKeyPutRequestContext",
308
- "type": "object",
309
- "properties": {
310
- "params": {
311
- "type": "object",
312
- "additionalProperties": false,
313
- "properties": {
314
- "tenantId": {
315
- "type": "string"
316
- },
317
- "dataEncryptionKeyId": {
318
- "type": "string",
319
- "format": "uuid"
320
- }
321
- },
322
- "required": ["tenantId", "dataEncryptionKeyId"]
323
- },
324
- "headers": {
325
- "type": "object",
326
- "additionalProperties": true
327
- },
328
- "body": {
329
- "$schema": "https://json-schema.org/draft/2020-12/schema",
330
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/DataEncryptionKeyRequest",
331
- "type": "object",
332
- "additionalProperties": false,
333
- "required": ["publicKeys"],
334
- "properties": {
335
- "publicKeys": {
336
- "type": "array",
337
- "minItems": 1,
338
- "description": "List of public keys in PEM format.\n\nAssociated private keys can be used to decrypt card data encrypted by Payment Card Service.\n",
339
- "items": {
340
- "$schema": "https://json-schema.org/draft/2020-12/schema",
341
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/PublicKey",
342
- "description": "Public key in PEM format",
343
- "type": "string",
344
- "example": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwm2sxmRdTF7ZIBA6+ngO\n8jOTCHmID0PpQB1q85+hrcLSfB1rWY9bzNNLabBo/ajDnA4Pcadq/x6gpg70qZcR\n9Wxm6TttKzBPZsxasGXgSTDqEi2KcYZgq1mL4qyxUvyIms7/llGy+W9b5huZaVcO\nxdT1tw/zctbOhb6S2t5vH+zkta/2ncUXjG7i8XdLsJ1qe4K1kYbA4KVkOMmAtw7O\n4STk0TZDD0YARdmrciorJjbIVt0Xj1CrYQ5QbDGrlfeXgrcZwX5f9wT2MnKlY5oZ\n5Wtb57oGtLkVf8g6vN/2jGtAmOmHK2hHwNd/+zUet5G/S5uwEli4RgMPP4pUoKgd\nGQIDAQAB\n-----END PUBLIC KEY-----\n"
345
- }
346
- }
347
- }
348
- }
349
- },
350
- "required": ["params", "body"],
351
- "additionalProperties": false
352
- },
353
- "responses": {
354
- "200": {
355
- "$schema": "https://json-schema.org/draft/2020-12/schema",
356
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/api/DataEncryptionKeyPutResponseOK",
357
- "type": "object",
358
- "properties": {
359
- "headers": {
360
- "type": "object",
361
- "properties": {
362
- "created-on": {
363
- "type": "string",
364
- "format": "date-time"
365
- },
366
- "updated-on": {
367
- "type": "string",
368
- "format": "date-time"
369
- }
370
- }
371
- },
372
- "body": {
373
- "$schema": "https://json-schema.org/draft/2020-12/schema",
374
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/DataEncryptionKeyResponse",
375
- "type": "object",
376
- "required": ["encryptedDataEncryptionKeys", "createdOn"],
377
- "properties": {
378
- "createdOn": {
379
- "description": "Time data was first stored",
380
- "type": "string",
381
- "format": "date-time"
382
- },
383
- "encryptedDataEncryptionKeys": {
384
- "type": "array",
385
- "items": {
386
- "type": "object",
387
- "additionalProperties": false,
388
- "description": "An object that includes an encrypted data encryption key and a hashed version of the public key used to encrypt it.\nThe publicKeyHash string is derived using @checkdigit/hash and the caller's public key included in DataEncryptionKeyRequest.\n",
389
- "required": ["publicKeyHash", "encryptedDataEncryptionKey"],
390
- "properties": {
391
- "publicKeyHash": {
392
- "$schema": "https://json-schema.org/draft/2020-12/schema",
393
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/Hash",
394
- "type": "string",
395
- "format": "uuid",
396
- "example": "15a85f64-5717-4562-b3fc-2c963f66afa6",
397
- "description": "UUID derived using @checkdigit/hash"
398
- },
399
- "encryptedDataEncryptionKey": {
400
- "type": "string",
401
- "description": "RSA encrypted data encryption key used to AES sensitive data in the Card object."
402
- }
403
- }
404
- }
405
- }
406
- }
407
- }
408
- },
409
- "required": ["body"],
410
- "additionalProperties": false
411
- },
412
- "default": {
413
- "$schema": "https://json-schema.org/draft/2020-12/schema",
414
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/api/DataEncryptionKeyPutResponseDefault",
415
- "type": "object",
416
- "properties": {
417
- "headers": {
418
- "type": "object",
419
- "additionalProperties": true
420
- },
421
- "body": {
422
- "$schema": "https://json-schema.org/draft/2020-12/schema",
423
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/Error",
424
- "type": "object",
425
- "additionalProperties": false,
426
- "description": "Server error message",
427
- "properties": {
428
- "message": {
429
- "type": "string"
430
- },
431
- "code": {
432
- "type": "string"
433
- }
434
- }
435
- }
436
- },
437
- "required": ["body"],
438
- "additionalProperties": false
439
- }
440
- }
441
- }
442
- },
443
- "/payment-card/v2/tenant/:tenantId/card": {
444
- "get": {
445
- "request": {
446
- "$schema": "https://json-schema.org/draft/2020-12/schema",
447
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/api/CardQueryRequestContext",
448
- "type": "object",
449
- "properties": {
450
- "params": {
451
- "type": "object",
452
- "additionalProperties": false,
453
- "properties": {
454
- "cardNumberHash": {
455
- "$schema": "https://json-schema.org/draft/2020-12/schema",
456
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/Hash",
457
- "type": "string",
458
- "format": "uuid",
459
- "example": "15a85f64-5717-4562-b3fc-2c963f66afa6",
460
- "description": "UUID derived using @checkdigit/hash"
461
- },
462
- "at": {
463
- "type": "string",
464
- "format": "date-time"
465
- }
466
- },
467
- "required": ["cardNumberHash", "at"]
468
- },
469
- "headers": {
470
- "type": "object",
471
- "additionalProperties": true
472
- }
473
- },
474
- "required": ["params", "query"],
475
- "additionalProperties": false
476
- },
477
- "responses": {
478
- "200": {
479
- "$schema": "https://json-schema.org/draft/2020-12/schema",
480
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/api/CardQueryResponseOK",
481
- "type": "object",
482
- "properties": {
483
- "headers": {
484
- "type": "object",
485
- "additionalProperties": true
486
- },
487
- "body": {
488
- "$schema": "https://json-schema.org/draft/2020-12/schema",
489
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/Query",
490
- "description": "Response from querying /card by cardNumberHash",
491
- "type": "object",
492
- "required": ["cards"],
493
- "properties": {
494
- "cards": {
495
- "type": "array",
496
- "minItems": 0,
497
- "items": {
498
- "$schema": "https://json-schema.org/draft/2020-12/schema",
499
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/CardQueryResponse",
500
- "type": "object",
501
- "additionalProperties": false,
502
- "required": ["dataEncryptionKeyId", "storageKeyId", "cardId", "card", "updatedOn", "createdOn"],
503
- "properties": {
504
- "dataEncryptionKeyId": {
505
- "$schema": "https://json-schema.org/draft/2020-12/schema",
506
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/DataEncryptionKeyId",
507
- "type": "string",
508
- "description": "Reference to encryption keys Payment Card Service will use to encrypt the Card object.\n",
509
- "format": "uuid"
510
- },
511
- "storageKeyId": {
512
- "$schema": "https://json-schema.org/draft/2020-12/schema",
513
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/StorageKeyId",
514
- "type": "string",
515
- "description": "DEK's non-derived identifier to be used by Check Digit services only.\n"
516
- },
517
- "encryptedDataEncryptionKey": {
518
- "description": "Encrypted DEK matching the publicKeyHash sent in the request. Used to decrypt values in the Card object.\n",
519
- "type": "string"
520
- },
521
- "cardId": {
522
- "$schema": "https://json-schema.org/draft/2020-12/schema",
523
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/CardId",
524
- "type": "string",
525
- "description": "Card identifier",
526
- "format": "uuid"
527
- },
528
- "card": {
529
- "$schema": "https://json-schema.org/draft/2020-12/schema",
530
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/Card",
531
- "type": "object",
532
- "additionalProperties": false,
533
- "required": [
534
- "bin",
535
- "last4",
536
- "expirationDate",
537
- "cardNumber",
538
- "serviceCode",
539
- "pinOffset",
540
- "sequenceNumber",
541
- "state",
542
- "active",
543
- "block",
544
- "lock",
545
- "capture"
546
- ],
547
- "properties": {
548
- "bin": {
549
- "$schema": "https://json-schema.org/draft/2020-12/schema",
550
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/Bin",
551
- "type": "string",
552
- "pattern": "^\\d+$",
553
- "description": "Bank Identification Number",
554
- "minLength": 6,
555
- "maxLength": 8
556
- },
557
- "last4": {
558
- "type": "string",
559
- "pattern": "^\\d+$",
560
- "description": "Last four digits of the card number",
561
- "minLength": 4,
562
- "maxLength": 4
563
- },
564
- "expirationDate": {
565
- "$schema": "https://json-schema.org/draft/2020-12/schema",
566
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/ExpirationDate",
567
- "type": "string",
568
- "pattern": "([0-9][0-9])(0[1-9]|1[0-2])",
569
- "format": "YYMM",
570
- "description": "Expiration date for the card and will be assumed to be the last millisecond of the month",
571
- "minLength": 4,
572
- "maxLength": 4
573
- },
574
- "cardNumber": {
575
- "type": "string",
576
- "description": "Encrypted card number (PAN)"
577
- },
578
- "serviceCode": {
579
- "type": "string",
580
- "pattern": "^\\d+$",
581
- "description": "Service code for the card",
582
- "minLength": 3,
583
- "maxLength": 3
584
- },
585
- "pinOffset": {
586
- "type": "string",
587
- "description": "Pin offset for the card. Cards created using the Payment Card V1 API will return an encrypted pin offset."
588
- },
589
- "sequenceNumber": {
590
- "type": "integer",
591
- "description": "Used to differentiate issuing the same card and expiration date on multiple plastics"
592
- },
593
- "state": {
594
- "$schema": "https://json-schema.org/draft/2020-12/schema",
595
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/StateStatus",
596
- "description": "The current state of the card",
597
- "type": "string",
598
- "enum": ["CURRENT", "REISSUED", "RETIRED", "FORCED"]
599
- },
600
- "active": {
601
- "$schema": "https://json-schema.org/draft/2020-12/schema",
602
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/ActiveStatus",
603
- "description": "The active/inactive status for the card",
604
- "type": "string",
605
- "enum": ["INACTIVE", "ACTIVE"]
606
- },
607
- "block": {
608
- "$schema": "https://json-schema.org/draft/2020-12/schema",
609
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/BlockStatus",
610
- "type": "string",
611
- "description": "Whether the card is open or blocked for various reasons",
612
- "enum": ["OPEN", "BLOCKED LOST OR STOLEN", "BLOCKED NO FRAUD", "BLOCKED WITH FRAUD"]
613
- },
614
- "lock": {
615
- "$schema": "https://json-schema.org/draft/2020-12/schema",
616
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/LockStatus",
617
- "type": "string",
618
- "description": "A cardholder initiated status. A locked card will fail authorization. Locked cards can be unlocked.\n\nA cardholder may choose to lock a card while temporarily misplaced.\n",
619
- "enum": ["LOCKED", "UNLOCKED"]
620
- },
621
- "capture": {
622
- "type": "boolean",
623
- "description": "Whether the card should be captured at next use"
624
- },
625
- "pinId": {
626
- "type": "string",
627
- "description": "Identifier for the PIN (Personal Identification Number) used for this card."
628
- }
629
- }
630
- },
631
- "updatedOn": {
632
- "type": "string",
633
- "description": "Time data was last updated",
634
- "format": "date-time"
635
- },
636
- "createdOn": {
637
- "description": "Time encrypted data was first stored",
638
- "type": "string",
639
- "format": "date-time"
640
- }
641
- }
642
- }
643
- }
644
- }
645
- }
646
- },
647
- "required": ["body"],
648
- "additionalProperties": false
649
- },
650
- "default": {
651
- "$schema": "https://json-schema.org/draft/2020-12/schema",
652
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/api/CardQueryResponseDefault",
653
- "type": "object",
654
- "properties": {
655
- "headers": {
656
- "type": "object",
657
- "additionalProperties": true
658
- },
659
- "body": {
660
- "$schema": "https://json-schema.org/draft/2020-12/schema",
661
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/Error",
662
- "type": "object",
663
- "additionalProperties": false,
664
- "description": "Server error message",
665
- "properties": {
666
- "message": {
667
- "type": "string"
668
- },
669
- "code": {
670
- "type": "string"
671
- }
672
- }
673
- }
674
- },
675
- "required": ["body"],
676
- "additionalProperties": false
677
- }
678
- }
679
- }
680
- },
681
- "/payment-card/v2/tenant/:tenantId/card/:cardId": {
682
- "get": {
683
- "request": {
684
- "$schema": "https://json-schema.org/draft/2020-12/schema",
685
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/api/CardGetRequestContext",
686
- "type": "object",
687
- "properties": {
688
- "params": {
689
- "type": "object",
690
- "additionalProperties": false,
691
- "properties": {
692
- "at": {
693
- "type": "string",
694
- "format": "date-time"
695
- },
696
- "publicKeyHashQuery": {
697
- "$schema": "https://json-schema.org/draft/2020-12/schema",
698
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/Hash",
699
- "type": "string",
700
- "format": "uuid",
701
- "example": "15a85f64-5717-4562-b3fc-2c963f66afa6",
702
- "description": "UUID derived using @checkdigit/hash"
703
- }
704
- },
705
- "required": ["at"]
706
- },
707
- "headers": {
708
- "type": "object",
709
- "additionalProperties": true
710
- }
711
- },
712
- "required": ["params", "query"],
713
- "additionalProperties": false
714
- },
715
- "responses": {
716
- "200": {
717
- "$schema": "https://json-schema.org/draft/2020-12/schema",
718
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/api/CardGetResponseOK",
719
- "type": "object",
720
- "properties": {
721
- "headers": {
722
- "type": "object",
723
- "properties": {
724
- "created-on": {
725
- "type": "string",
726
- "format": "date-time"
727
- },
728
- "updated-on": {
729
- "type": "string",
730
- "format": "date-time"
731
- },
732
- "etag": {
733
- "type": "string"
734
- }
735
- }
736
- },
737
- "body": {
738
- "$schema": "https://json-schema.org/draft/2020-12/schema",
739
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/CardResponse",
740
- "type": "object",
741
- "additionalProperties": false,
742
- "required": ["dataEncryptionKeyId", "storageKeyId", "card"],
743
- "properties": {
744
- "dataEncryptionKeyId": {
745
- "$schema": "https://json-schema.org/draft/2020-12/schema",
746
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/DataEncryptionKeyId",
747
- "type": "string",
748
- "description": "Reference to encryption keys Payment Card Service will use to encrypt the Card object.\n",
749
- "format": "uuid"
750
- },
751
- "storageKeyId": {
752
- "$schema": "https://json-schema.org/draft/2020-12/schema",
753
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/StorageKeyId",
754
- "type": "string",
755
- "description": "DEK's non-derived identifier to be used by Check Digit services only.\n"
756
- },
757
- "encryptedDataEncryptionKey": {
758
- "description": "Encrypted DEK matching the publicKeyHash sent in the request. Used to decrypt values in the Card object.\n",
759
- "type": "string"
760
- },
761
- "card": {
762
- "$schema": "https://json-schema.org/draft/2020-12/schema",
763
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/Card",
764
- "type": "object",
765
- "additionalProperties": false,
766
- "required": [
767
- "bin",
768
- "last4",
769
- "expirationDate",
770
- "cardNumber",
771
- "serviceCode",
772
- "pinOffset",
773
- "sequenceNumber",
774
- "state",
775
- "active",
776
- "block",
777
- "lock",
778
- "capture"
779
- ],
780
- "properties": {
781
- "bin": {
782
- "$schema": "https://json-schema.org/draft/2020-12/schema",
783
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/Bin",
784
- "type": "string",
785
- "pattern": "^\\d+$",
786
- "description": "Bank Identification Number",
787
- "minLength": 6,
788
- "maxLength": 8
789
- },
790
- "last4": {
791
- "type": "string",
792
- "pattern": "^\\d+$",
793
- "description": "Last four digits of the card number",
794
- "minLength": 4,
795
- "maxLength": 4
796
- },
797
- "expirationDate": {
798
- "$schema": "https://json-schema.org/draft/2020-12/schema",
799
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/ExpirationDate",
800
- "type": "string",
801
- "pattern": "([0-9][0-9])(0[1-9]|1[0-2])",
802
- "format": "YYMM",
803
- "description": "Expiration date for the card and will be assumed to be the last millisecond of the month",
804
- "minLength": 4,
805
- "maxLength": 4
806
- },
807
- "cardNumber": {
808
- "type": "string",
809
- "description": "Encrypted card number (PAN)"
810
- },
811
- "serviceCode": {
812
- "type": "string",
813
- "pattern": "^\\d+$",
814
- "description": "Service code for the card",
815
- "minLength": 3,
816
- "maxLength": 3
817
- },
818
- "pinOffset": {
819
- "type": "string",
820
- "description": "Pin offset for the card. Cards created using the Payment Card V1 API will return an encrypted pin offset."
821
- },
822
- "sequenceNumber": {
823
- "type": "integer",
824
- "description": "Used to differentiate issuing the same card and expiration date on multiple plastics"
825
- },
826
- "state": {
827
- "$schema": "https://json-schema.org/draft/2020-12/schema",
828
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/StateStatus",
829
- "description": "The current state of the card",
830
- "type": "string",
831
- "enum": ["CURRENT", "REISSUED", "RETIRED", "FORCED"]
832
- },
833
- "active": {
834
- "$schema": "https://json-schema.org/draft/2020-12/schema",
835
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/ActiveStatus",
836
- "description": "The active/inactive status for the card",
837
- "type": "string",
838
- "enum": ["INACTIVE", "ACTIVE"]
839
- },
840
- "block": {
841
- "$schema": "https://json-schema.org/draft/2020-12/schema",
842
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/BlockStatus",
843
- "type": "string",
844
- "description": "Whether the card is open or blocked for various reasons",
845
- "enum": ["OPEN", "BLOCKED LOST OR STOLEN", "BLOCKED NO FRAUD", "BLOCKED WITH FRAUD"]
846
- },
847
- "lock": {
848
- "$schema": "https://json-schema.org/draft/2020-12/schema",
849
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/LockStatus",
850
- "type": "string",
851
- "description": "A cardholder initiated status. A locked card will fail authorization. Locked cards can be unlocked.\n\nA cardholder may choose to lock a card while temporarily misplaced.\n",
852
- "enum": ["LOCKED", "UNLOCKED"]
853
- },
854
- "capture": {
855
- "type": "boolean",
856
- "description": "Whether the card should be captured at next use"
857
- },
858
- "pinId": {
859
- "type": "string",
860
- "description": "Identifier for the PIN (Personal Identification Number) used for this card."
77
+ "type": "object",
78
+ "required": ["encryptedDataEncryptionKeys", "createdOn"],
79
+ "properties": {
80
+ "createdOn": {
81
+ "description": "Time data was first stored",
82
+ "type": "string",
83
+ "format": "date-time"
84
+ },
85
+ "encryptedDataEncryptionKeys": {
86
+ "type": "array",
87
+ "items": {
88
+ "type": "object",
89
+ "additionalProperties": false,
90
+ "description": "An object that includes an encrypted data encryption key and a hashed version of the public key used to encrypt it.\nThe publicKeyHash string is derived using @checkdigit/hash and the caller's public key included in DataEncryptionKeyRequest.\n",
91
+ "required": ["publicKeyHash", "encryptedDataEncryptionKey"],
92
+ "properties": {
93
+ "publicKeyHash": {
94
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
95
+ "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/Hash",
96
+ "type": "string",
97
+ "format": "uuid",
98
+ "example": "15a85f64-5717-4562-b3fc-2c963f66afa6",
99
+ "description": "UUID derived using @checkdigit/hash"
100
+ },
101
+ "encryptedDataEncryptionKey": {
102
+ "type": "string",
103
+ "description": "RSA encrypted data encryption key used to AES sensitive data in the Card object."
104
+ }
861
105
  }
862
106
  }
863
107
  }
@@ -867,22 +111,9 @@
867
111
  "required": ["body"],
868
112
  "additionalProperties": false
869
113
  },
870
- "404": {
871
- "$schema": "https://json-schema.org/draft/2020-12/schema",
872
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/api/CardGetResponseNotFound",
873
- "type": "object",
874
- "properties": {
875
- "headers": {
876
- "type": "object",
877
- "additionalProperties": true
878
- }
879
- },
880
- "required": [],
881
- "additionalProperties": false
882
- },
883
114
  "default": {
884
115
  "$schema": "https://json-schema.org/draft/2020-12/schema",
885
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/api/CardGetResponseDefault",
116
+ "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/api/DataEncryptionKeyPutResponseDefault",
886
117
  "type": "object",
887
118
  "properties": {
888
119
  "headers": {
@@ -909,7 +140,10 @@
909
140
  "additionalProperties": false
910
141
  }
911
142
  }
912
- },
143
+ }
144
+ },
145
+ "/payment-card/v2/tenant/:tenantId/card": {},
146
+ "/payment-card/v2/tenant/:tenantId/card/:cardId": {
913
147
  "put": {
914
148
  "request": {
915
149
  "$schema": "https://json-schema.org/draft/2020-12/schema",
@@ -2087,250 +1321,7 @@
2087
1321
  }
2088
1322
  }
2089
1323
  },
2090
- "/payment-card/v2/tenant/:tenantId/card/:cardId/history": {
2091
- "get": {
2092
- "request": {
2093
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2094
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/api/CardHistoryGetRequestContext",
2095
- "type": "object",
2096
- "properties": {
2097
- "params": {
2098
- "type": "object",
2099
- "additionalProperties": false,
2100
- "properties": {
2101
- "fromDate": {
2102
- "type": "string",
2103
- "format": "date-time"
2104
- },
2105
- "toDate": {
2106
- "type": "string",
2107
- "format": "date-time"
2108
- },
2109
- "publicKeyHashQuery": {
2110
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2111
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/Hash",
2112
- "type": "string",
2113
- "format": "uuid",
2114
- "example": "15a85f64-5717-4562-b3fc-2c963f66afa6",
2115
- "description": "UUID derived using @checkdigit/hash"
2116
- }
2117
- },
2118
- "required": ["toDate"]
2119
- },
2120
- "headers": {
2121
- "type": "object",
2122
- "additionalProperties": true
2123
- }
2124
- },
2125
- "required": ["params", "query"],
2126
- "additionalProperties": false
2127
- },
2128
- "responses": {
2129
- "200": {
2130
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2131
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/api/CardHistoryGetResponseOK",
2132
- "type": "object",
2133
- "properties": {
2134
- "headers": {
2135
- "type": "object",
2136
- "additionalProperties": true
2137
- },
2138
- "body": {
2139
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2140
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/History",
2141
- "description": "The History object represents the updates to a Card object over time.\n",
2142
- "type": "object",
2143
- "required": ["updates"],
2144
- "properties": {
2145
- "dataEncryptionKeyId": {
2146
- "type": "string",
2147
- "description": "Reference to encryption keys Payment Card Service used to encrypt the Card object.\n",
2148
- "format": "uuid"
2149
- },
2150
- "storageKeyId": {
2151
- "type": "string",
2152
- "description": "DEK's non-derived identifier to be used by Check Digit services only.\n"
2153
- },
2154
- "encryptedDataEncryptionKey": {
2155
- "description": "RSA encrypted data encryption key used to decrypt AES encrypted values in Card objects.\n",
2156
- "type": "string"
2157
- },
2158
- "updates": {
2159
- "type": "array",
2160
- "minItems": 0,
2161
- "items": {
2162
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2163
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/CardUpdate",
2164
- "type": "object",
2165
- "additionalProperties": false,
2166
- "required": ["card", "updatedOn", "createdOn"],
2167
- "properties": {
2168
- "card": {
2169
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2170
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/Card",
2171
- "type": "object",
2172
- "additionalProperties": false,
2173
- "required": [
2174
- "bin",
2175
- "last4",
2176
- "expirationDate",
2177
- "cardNumber",
2178
- "serviceCode",
2179
- "pinOffset",
2180
- "sequenceNumber",
2181
- "state",
2182
- "active",
2183
- "block",
2184
- "lock",
2185
- "capture"
2186
- ],
2187
- "properties": {
2188
- "bin": {
2189
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2190
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/Bin",
2191
- "type": "string",
2192
- "pattern": "^\\d+$",
2193
- "description": "Bank Identification Number",
2194
- "minLength": 6,
2195
- "maxLength": 8
2196
- },
2197
- "last4": {
2198
- "type": "string",
2199
- "pattern": "^\\d+$",
2200
- "description": "Last four digits of the card number",
2201
- "minLength": 4,
2202
- "maxLength": 4
2203
- },
2204
- "expirationDate": {
2205
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2206
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/ExpirationDate",
2207
- "type": "string",
2208
- "pattern": "([0-9][0-9])(0[1-9]|1[0-2])",
2209
- "format": "YYMM",
2210
- "description": "Expiration date for the card and will be assumed to be the last millisecond of the month",
2211
- "minLength": 4,
2212
- "maxLength": 4
2213
- },
2214
- "cardNumber": {
2215
- "type": "string",
2216
- "description": "Encrypted card number (PAN)"
2217
- },
2218
- "serviceCode": {
2219
- "type": "string",
2220
- "pattern": "^\\d+$",
2221
- "description": "Service code for the card",
2222
- "minLength": 3,
2223
- "maxLength": 3
2224
- },
2225
- "pinOffset": {
2226
- "type": "string",
2227
- "description": "Pin offset for the card. Cards created using the Payment Card V1 API will return an encrypted pin offset."
2228
- },
2229
- "sequenceNumber": {
2230
- "type": "integer",
2231
- "description": "Used to differentiate issuing the same card and expiration date on multiple plastics"
2232
- },
2233
- "state": {
2234
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2235
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/StateStatus",
2236
- "description": "The current state of the card",
2237
- "type": "string",
2238
- "enum": ["CURRENT", "REISSUED", "RETIRED", "FORCED"]
2239
- },
2240
- "active": {
2241
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2242
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/ActiveStatus",
2243
- "description": "The active/inactive status for the card",
2244
- "type": "string",
2245
- "enum": ["INACTIVE", "ACTIVE"]
2246
- },
2247
- "block": {
2248
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2249
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/BlockStatus",
2250
- "type": "string",
2251
- "description": "Whether the card is open or blocked for various reasons",
2252
- "enum": ["OPEN", "BLOCKED LOST OR STOLEN", "BLOCKED NO FRAUD", "BLOCKED WITH FRAUD"]
2253
- },
2254
- "lock": {
2255
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2256
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/LockStatus",
2257
- "type": "string",
2258
- "description": "A cardholder initiated status. A locked card will fail authorization. Locked cards can be unlocked.\n\nA cardholder may choose to lock a card while temporarily misplaced.\n",
2259
- "enum": ["LOCKED", "UNLOCKED"]
2260
- },
2261
- "capture": {
2262
- "type": "boolean",
2263
- "description": "Whether the card should be captured at next use"
2264
- },
2265
- "pinId": {
2266
- "type": "string",
2267
- "description": "Identifier for the PIN (Personal Identification Number) used for this card."
2268
- }
2269
- }
2270
- },
2271
- "updatedOn": {
2272
- "type": "string",
2273
- "description": "Time data was last updated",
2274
- "format": "date-time"
2275
- },
2276
- "createdOn": {
2277
- "description": "Time encrypted data was first stored",
2278
- "type": "string",
2279
- "format": "date-time"
2280
- }
2281
- }
2282
- }
2283
- }
2284
- }
2285
- }
2286
- },
2287
- "required": ["body"],
2288
- "additionalProperties": false
2289
- },
2290
- "404": {
2291
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2292
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/api/CardHistoryGetResponseNotFound",
2293
- "type": "object",
2294
- "properties": {
2295
- "headers": {
2296
- "type": "object",
2297
- "additionalProperties": true
2298
- }
2299
- },
2300
- "required": [],
2301
- "additionalProperties": false
2302
- },
2303
- "default": {
2304
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2305
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/api/CardHistoryGetResponseDefault",
2306
- "type": "object",
2307
- "properties": {
2308
- "headers": {
2309
- "type": "object",
2310
- "additionalProperties": true
2311
- },
2312
- "body": {
2313
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2314
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/Error",
2315
- "type": "object",
2316
- "additionalProperties": false,
2317
- "description": "Server error message",
2318
- "properties": {
2319
- "message": {
2320
- "type": "string"
2321
- },
2322
- "code": {
2323
- "type": "string"
2324
- }
2325
- }
2326
- }
2327
- },
2328
- "required": ["body"],
2329
- "additionalProperties": false
2330
- }
2331
- }
2332
- }
2333
- },
1324
+ "/payment-card/v2/tenant/:tenantId/card/:cardId/history": {},
2334
1325
  "/payment-card/v2/tenant/:tenantId/card/:cardId/lock/:lockStatus": {
2335
1326
  "put": {
2336
1327
  "request": {
@@ -2800,124 +1791,7 @@
2800
1791
  }
2801
1792
  }
2802
1793
  },
2803
- "/payment-card/v2/tenant/:tenantId/card-number/:cardId/key/:publicKeyHashPath": {
2804
- "put": {
2805
- "request": {
2806
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2807
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/api/CardNumberKeyPutRequestContext",
2808
- "type": "object",
2809
- "properties": {
2810
- "params": {
2811
- "type": "object",
2812
- "additionalProperties": false,
2813
- "properties": {
2814
- "tenantId": {
2815
- "type": "string"
2816
- },
2817
- "cardId": {
2818
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2819
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/CardId",
2820
- "type": "string",
2821
- "description": "Card identifier",
2822
- "format": "uuid"
2823
- },
2824
- "publicKeyHashPath": {
2825
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2826
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/Hash",
2827
- "type": "string",
2828
- "format": "uuid",
2829
- "example": "15a85f64-5717-4562-b3fc-2c963f66afa6",
2830
- "description": "UUID derived using @checkdigit/hash"
2831
- }
2832
- },
2833
- "required": ["tenantId", "cardId", "publicKeyHashPath"]
2834
- },
2835
- "headers": {
2836
- "type": "object",
2837
- "additionalProperties": true
2838
- },
2839
- "body": {
2840
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2841
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/CardNumberRequest",
2842
- "type": "object",
2843
- "additionalProperties": false,
2844
- "required": ["publicKey"],
2845
- "properties": {
2846
- "publicKey": {
2847
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2848
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/PublicKey",
2849
- "description": "Public key in PEM format",
2850
- "type": "string",
2851
- "example": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwm2sxmRdTF7ZIBA6+ngO\n8jOTCHmID0PpQB1q85+hrcLSfB1rWY9bzNNLabBo/ajDnA4Pcadq/x6gpg70qZcR\n9Wxm6TttKzBPZsxasGXgSTDqEi2KcYZgq1mL4qyxUvyIms7/llGy+W9b5huZaVcO\nxdT1tw/zctbOhb6S2t5vH+zkta/2ncUXjG7i8XdLsJ1qe4K1kYbA4KVkOMmAtw7O\n4STk0TZDD0YARdmrciorJjbIVt0Xj1CrYQ5QbDGrlfeXgrcZwX5f9wT2MnKlY5oZ\n5Wtb57oGtLkVf8g6vN/2jGtAmOmHK2hHwNd/+zUet5G/S5uwEli4RgMPP4pUoKgd\nGQIDAQAB\n-----END PUBLIC KEY-----\n"
2852
- }
2853
- }
2854
- }
2855
- },
2856
- "required": ["params", "body"],
2857
- "additionalProperties": false
2858
- },
2859
- "responses": {
2860
- "200": {
2861
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2862
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/api/CardNumberKeyPutResponseOK",
2863
- "type": "object",
2864
- "properties": {
2865
- "headers": {
2866
- "type": "object",
2867
- "additionalProperties": true
2868
- },
2869
- "body": {
2870
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2871
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/EncryptedCardNumber",
2872
- "type": "object",
2873
- "additionalProperties": false,
2874
- "required": ["encryptedDataEncryptionKey", "cardNumber"],
2875
- "properties": {
2876
- "encryptedDataEncryptionKey": {
2877
- "description": "RSA encrypted data encryption key used to AES encrypt cardNumber.",
2878
- "type": "string"
2879
- },
2880
- "cardNumber": {
2881
- "type": "string",
2882
- "description": "AES-256 encrypted card number"
2883
- }
2884
- }
2885
- }
2886
- },
2887
- "required": ["body"],
2888
- "additionalProperties": false
2889
- },
2890
- "default": {
2891
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2892
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/api/CardNumberKeyPutResponseDefault",
2893
- "type": "object",
2894
- "properties": {
2895
- "headers": {
2896
- "type": "object",
2897
- "additionalProperties": true
2898
- },
2899
- "body": {
2900
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2901
- "$id": "https://eslint-plugin.checkdigit/payment-card/v2/schemas/definitions/Error",
2902
- "type": "object",
2903
- "additionalProperties": false,
2904
- "description": "Server error message",
2905
- "properties": {
2906
- "message": {
2907
- "type": "string"
2908
- },
2909
- "code": {
2910
- "type": "string"
2911
- }
2912
- }
2913
- }
2914
- },
2915
- "required": ["body"],
2916
- "additionalProperties": false
2917
- }
2918
- }
2919
- }
2920
- },
1794
+ "/payment-card/v2/tenant/:tenantId/card-number/:cardId/key/:publicKeyHashPath": {},
2921
1795
  "/payment-card/v2/tenant/:tenantId/pin-offset-key/:pinOffsetKeyId": {
2922
1796
  "put": {
2923
1797
  "request": {