@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,170 +1,12 @@
1
1
  {
2
2
  "apis": {
3
- "/payment-card/v1/ping": {
4
- "get": {
5
- "request": {
6
- "$schema": "https://json-schema.org/draft/2020-12/schema",
7
- "$id": "https://eslint-plugin.checkdigit/payment-card/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/payment-card/v1/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/v1/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/v1/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/v1/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/v1/public-key": {
79
- "get": {
80
- "request": {
81
- "$schema": "https://json-schema.org/draft/2020-12/schema",
82
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/api/PublicKeyGetRequestContext",
83
- "type": "object",
84
- "properties": {
85
- "headers": {
86
- "type": "object",
87
- "additionalProperties": true
88
- }
89
- },
90
- "required": [],
91
- "additionalProperties": false
92
- },
93
- "responses": {
94
- "200": {
95
- "$schema": "https://json-schema.org/draft/2020-12/schema",
96
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/api/PublicKeyGetResponseOK",
97
- "type": "object",
98
- "properties": {
99
- "headers": {
100
- "type": "object",
101
- "properties": {
102
- "created-on": {
103
- "type": "string",
104
- "format": "date-time"
105
- },
106
- "updated-on": {
107
- "type": "string",
108
- "format": "date-time"
109
- }
110
- }
111
- },
112
- "body": {
113
- "$schema": "https://json-schema.org/draft/2020-12/schema",
114
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/PublicKeyResponse",
115
- "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",
116
- "type": "object",
117
- "required": ["publicKey"],
118
- "properties": {
119
- "publicKey": {
120
- "$schema": "https://json-schema.org/draft/2020-12/schema",
121
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/PublicKey",
122
- "description": "Public key in PEM format",
123
- "type": "string",
124
- "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"
125
- }
126
- }
127
- }
128
- },
129
- "required": ["body"],
130
- "additionalProperties": false
131
- },
132
- "default": {
133
- "$schema": "https://json-schema.org/draft/2020-12/schema",
134
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/api/PublicKeyGetResponseDefault",
135
- "type": "object",
136
- "properties": {
137
- "headers": {
138
- "type": "object",
139
- "additionalProperties": true
140
- },
141
- "body": {
142
- "$schema": "https://json-schema.org/draft/2020-12/schema",
143
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/Error",
144
- "type": "object",
145
- "additionalProperties": false,
146
- "description": "Server error message",
147
- "properties": {
148
- "message": {
149
- "type": "string"
150
- },
151
- "code": {
152
- "type": "string"
153
- }
154
- }
155
- }
156
- },
157
- "required": ["body"],
158
- "additionalProperties": false
159
- }
160
- }
161
- }
162
- },
3
+ "/payment-card/v1/ping": {},
4
+ "/payment-card/v1/public-key": {},
163
5
  "/payment-card/v1/data-encryption-key/:dataEncryptionKeyId": {
164
- "get": {
6
+ "put": {
165
7
  "request": {
166
8
  "$schema": "https://json-schema.org/draft/2020-12/schema",
167
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/api/DataEncryptionKeyGetRequestContext",
9
+ "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/api/DataEncryptionKeyPutRequestContext",
168
10
  "type": "object",
169
11
  "properties": {
170
12
  "params": {
@@ -181,15 +23,36 @@
181
23
  "headers": {
182
24
  "type": "object",
183
25
  "additionalProperties": true
26
+ },
27
+ "body": {
28
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
29
+ "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/DataEncryptionKeyRequest",
30
+ "type": "object",
31
+ "additionalProperties": false,
32
+ "required": ["publicKeys"],
33
+ "properties": {
34
+ "publicKeys": {
35
+ "type": "array",
36
+ "minItems": 1,
37
+ "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",
38
+ "items": {
39
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
40
+ "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/PublicKey",
41
+ "description": "Public key in PEM format",
42
+ "type": "string",
43
+ "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"
44
+ }
45
+ }
46
+ }
184
47
  }
185
48
  },
186
- "required": ["params"],
49
+ "required": ["params", "body"],
187
50
  "additionalProperties": false
188
51
  },
189
52
  "responses": {
190
53
  "200": {
191
54
  "$schema": "https://json-schema.org/draft/2020-12/schema",
192
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/api/DataEncryptionKeyGetResponseOK",
55
+ "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/api/DataEncryptionKeyPutResponseOK",
193
56
  "type": "object",
194
57
  "properties": {
195
58
  "headers": {
@@ -245,654 +108,8 @@
245
108
  }
246
109
  },
247
110
  "transmissionKey": {
248
- "type": "string",
249
- "description": "A public key in PEM format.\nWhen creating a card with a specific card number (i.e. /card/{cardId}/number), use the transmissionKey to\nencrypt the data encryption key used to encrypt the card number.\n"
250
- }
251
- }
252
- }
253
- },
254
- "required": ["body"],
255
- "additionalProperties": false
256
- },
257
- "404": {
258
- "$schema": "https://json-schema.org/draft/2020-12/schema",
259
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/api/DataEncryptionKeyGetResponseNotFound",
260
- "type": "object",
261
- "properties": {
262
- "headers": {
263
- "type": "object",
264
- "additionalProperties": true
265
- }
266
- },
267
- "required": [],
268
- "additionalProperties": false
269
- },
270
- "default": {
271
- "$schema": "https://json-schema.org/draft/2020-12/schema",
272
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/api/DataEncryptionKeyGetResponseDefault",
273
- "type": "object",
274
- "properties": {
275
- "headers": {
276
- "type": "object",
277
- "additionalProperties": true
278
- },
279
- "body": {
280
- "$schema": "https://json-schema.org/draft/2020-12/schema",
281
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/Error",
282
- "type": "object",
283
- "additionalProperties": false,
284
- "description": "Server error message",
285
- "properties": {
286
- "message": {
287
- "type": "string"
288
- },
289
- "code": {
290
- "type": "string"
291
- }
292
- }
293
- }
294
- },
295
- "required": ["body"],
296
- "additionalProperties": false
297
- }
298
- }
299
- },
300
- "put": {
301
- "request": {
302
- "$schema": "https://json-schema.org/draft/2020-12/schema",
303
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/api/DataEncryptionKeyPutRequestContext",
304
- "type": "object",
305
- "properties": {
306
- "params": {
307
- "type": "object",
308
- "additionalProperties": false,
309
- "properties": {
310
- "dataEncryptionKeyId": {
311
- "type": "string",
312
- "format": "uuid"
313
- }
314
- },
315
- "required": ["dataEncryptionKeyId"]
316
- },
317
- "headers": {
318
- "type": "object",
319
- "additionalProperties": true
320
- },
321
- "body": {
322
- "$schema": "https://json-schema.org/draft/2020-12/schema",
323
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/DataEncryptionKeyRequest",
324
- "type": "object",
325
- "additionalProperties": false,
326
- "required": ["publicKeys"],
327
- "properties": {
328
- "publicKeys": {
329
- "type": "array",
330
- "minItems": 1,
331
- "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",
332
- "items": {
333
- "$schema": "https://json-schema.org/draft/2020-12/schema",
334
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/PublicKey",
335
- "description": "Public key in PEM format",
336
- "type": "string",
337
- "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"
338
- }
339
- }
340
- }
341
- }
342
- },
343
- "required": ["params", "body"],
344
- "additionalProperties": false
345
- },
346
- "responses": {
347
- "200": {
348
- "$schema": "https://json-schema.org/draft/2020-12/schema",
349
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/api/DataEncryptionKeyPutResponseOK",
350
- "type": "object",
351
- "properties": {
352
- "headers": {
353
- "type": "object",
354
- "properties": {
355
- "created-on": {
356
- "type": "string",
357
- "format": "date-time"
358
- },
359
- "updated-on": {
360
- "type": "string",
361
- "format": "date-time"
362
- }
363
- }
364
- },
365
- "body": {
366
- "$schema": "https://json-schema.org/draft/2020-12/schema",
367
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/DataEncryptionKeyResponse",
368
- "type": "object",
369
- "required": ["transmissionKey", "encryptedDataEncryptionKeys", "createdOn", "lastModified"],
370
- "properties": {
371
- "createdOn": {
372
- "description": "Time data was first stored",
373
- "type": "string",
374
- "format": "date-time"
375
- },
376
- "lastModified": {
377
- "description": "Time data was last modified",
378
- "type": "string",
379
- "format": "date-time"
380
- },
381
- "encryptedDataEncryptionKeys": {
382
- "type": "array",
383
- "items": {
384
- "type": "object",
385
- "additionalProperties": false,
386
- "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",
387
- "required": ["publicKeyHash", "encryptedDataEncryptionKey"],
388
- "properties": {
389
- "publicKeyHash": {
390
- "$schema": "https://json-schema.org/draft/2020-12/schema",
391
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/Hash",
392
- "type": "string",
393
- "format": "uuid",
394
- "example": "15a85f64-5717-4562-b3fc-2c963f66afa6",
395
- "description": "UUID derived using @checkdigit/hash"
396
- },
397
- "encryptedDataEncryptionKey": {
398
- "type": "string",
399
- "description": "RSA encrypted data encryption key used to AES sensitive data in the Card object."
400
- }
401
- }
402
- }
403
- },
404
- "transmissionKey": {
405
- "type": "string",
406
- "description": "A public key in PEM format.\nWhen creating a card with a specific card number (i.e. /card/{cardId}/number), use the transmissionKey to\nencrypt the data encryption key used to encrypt the card number.\n"
407
- }
408
- }
409
- }
410
- },
411
- "required": ["body"],
412
- "additionalProperties": false
413
- },
414
- "default": {
415
- "$schema": "https://json-schema.org/draft/2020-12/schema",
416
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/api/DataEncryptionKeyPutResponseDefault",
417
- "type": "object",
418
- "properties": {
419
- "headers": {
420
- "type": "object",
421
- "additionalProperties": true
422
- },
423
- "body": {
424
- "$schema": "https://json-schema.org/draft/2020-12/schema",
425
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/Error",
426
- "type": "object",
427
- "additionalProperties": false,
428
- "description": "Server error message",
429
- "properties": {
430
- "message": {
431
- "type": "string"
432
- },
433
- "code": {
434
- "type": "string"
435
- }
436
- }
437
- }
438
- },
439
- "required": ["body"],
440
- "additionalProperties": false
441
- }
442
- }
443
- }
444
- },
445
- "/payment-card/v1/card": {
446
- "get": {
447
- "request": {
448
- "$schema": "https://json-schema.org/draft/2020-12/schema",
449
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/api/CardQueryRequestContext",
450
- "type": "object",
451
- "properties": {
452
- "params": {
453
- "type": "object",
454
- "additionalProperties": false,
455
- "properties": {
456
- "cardNumberHash": {
457
- "$schema": "https://json-schema.org/draft/2020-12/schema",
458
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/Hash",
459
- "type": "string",
460
- "format": "uuid",
461
- "example": "15a85f64-5717-4562-b3fc-2c963f66afa6",
462
- "description": "UUID derived using @checkdigit/hash"
463
- },
464
- "at": {
465
- "type": "string",
466
- "format": "date-time"
467
- }
468
- },
469
- "required": ["cardNumberHash", "at"]
470
- },
471
- "headers": {
472
- "type": "object",
473
- "additionalProperties": true
474
- }
475
- },
476
- "required": ["query"],
477
- "additionalProperties": false
478
- },
479
- "responses": {
480
- "200": {
481
- "$schema": "https://json-schema.org/draft/2020-12/schema",
482
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/api/CardQueryResponseOK",
483
- "type": "object",
484
- "properties": {
485
- "headers": {
486
- "type": "object",
487
- "additionalProperties": true
488
- },
489
- "body": {
490
- "$schema": "https://json-schema.org/draft/2020-12/schema",
491
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/Query",
492
- "description": "Response from querying /card by cardNumberHash",
493
- "type": "object",
494
- "required": ["cards"],
495
- "properties": {
496
- "cards": {
497
- "type": "array",
498
- "items": {
499
- "$schema": "https://json-schema.org/draft/2020-12/schema",
500
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/CardQueryResponse",
501
- "type": "object",
502
- "additionalProperties": false,
503
- "required": ["dataEncryptionKeyId", "storageKeyId", "cardId", "card"],
504
- "properties": {
505
- "dataEncryptionKeyId": {
506
- "$schema": "https://json-schema.org/draft/2020-12/schema",
507
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/DataEncryptionKeyId",
508
- "type": "string",
509
- "description": "Reference to encryption keys Payment Card Service will use to encrypt the Card object.\n",
510
- "format": "uuid"
511
- },
512
- "storageKeyId": {
513
- "$schema": "https://json-schema.org/draft/2020-12/schema",
514
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/StorageKeyId",
515
- "type": "string",
516
- "description": "DEK's non-derived identifier to be used by Check Digit services only.\n"
517
- },
518
- "encryptedDataEncryptionKey": {
519
- "description": "Encrypted DEK matching the publicKeyHash sent in the request. Used to decrypt values in the Card object.\n",
520
- "type": "string"
521
- },
522
- "cardId": {
523
- "$schema": "https://json-schema.org/draft/2020-12/schema",
524
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/CardId",
525
- "type": "string",
526
- "description": "Card identifier",
527
- "format": "uuid"
528
- },
529
- "card": {
530
- "$schema": "https://json-schema.org/draft/2020-12/schema",
531
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/Card",
532
- "type": "object",
533
- "additionalProperties": false,
534
- "required": [
535
- "bin",
536
- "last4",
537
- "expirationDate",
538
- "cardNumber",
539
- "serviceCode",
540
- "pinOffset",
541
- "applicationTransactionCounter",
542
- "sequenceNumber",
543
- "state",
544
- "active",
545
- "block",
546
- "lock",
547
- "capture",
548
- "createdOn",
549
- "updatedOn",
550
- "lastModified"
551
- ],
552
- "properties": {
553
- "bin": {
554
- "$schema": "https://json-schema.org/draft/2020-12/schema",
555
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/Bin",
556
- "type": "string",
557
- "pattern": "^\\d+$",
558
- "description": "Bank Identification Number",
559
- "minLength": 6,
560
- "maxLength": 8
561
- },
562
- "last4": {
563
- "type": "string",
564
- "pattern": "^\\d+$",
565
- "description": "Last four digits of the card number",
566
- "minLength": 4,
567
- "maxLength": 4
568
- },
569
- "expirationDate": {
570
- "$schema": "https://json-schema.org/draft/2020-12/schema",
571
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/ExpirationDate",
572
- "type": "string",
573
- "pattern": "([0-9][0-9])(0[1-9]|1[0-2])",
574
- "format": "YYMM",
575
- "description": "Expiration date for the card and will be assumed to be the last millisecond of the month",
576
- "minLength": 4,
577
- "maxLength": 4
578
- },
579
- "cardNumber": {
580
- "type": "string",
581
- "description": "Encrypted card number (PAN)"
582
- },
583
- "serviceCode": {
584
- "type": "string",
585
- "pattern": "^\\d+$",
586
- "description": "Service code for the card",
587
- "minLength": 3,
588
- "maxLength": 3
589
- },
590
- "pinOffset": {
591
- "type": "string",
592
- "description": "Encrypted pin offset for the card"
593
- },
594
- "applicationTransactionCounter": {
595
- "type": "integer",
596
- "description": "Application transaction counter (ATC) for the card"
597
- },
598
- "sequenceNumber": {
599
- "type": "integer",
600
- "description": "Used to differentiate issuing the same card and expiration date on multiple plastics"
601
- },
602
- "state": {
603
- "$schema": "https://json-schema.org/draft/2020-12/schema",
604
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/StateStatus",
605
- "description": "The current state of the card",
606
- "type": "string",
607
- "enum": ["CURRENT", "REISSUED", "RETIRED", "FORCED"]
608
- },
609
- "active": {
610
- "$schema": "https://json-schema.org/draft/2020-12/schema",
611
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/ActiveStatus",
612
- "description": "The active/inactive status for the card",
613
- "type": "string",
614
- "enum": ["INACTIVE", "ACTIVE"]
615
- },
616
- "block": {
617
- "$schema": "https://json-schema.org/draft/2020-12/schema",
618
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/BlockStatus",
619
- "type": "string",
620
- "description": "Whether the card is open or blocked for various reasons",
621
- "enum": ["OPEN", "BLOCKED LOST OR STOLEN", "BLOCKED NO FRAUD", "BLOCKED WITH FRAUD"]
622
- },
623
- "lock": {
624
- "$schema": "https://json-schema.org/draft/2020-12/schema",
625
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/LockStatus",
626
- "type": "string",
627
- "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",
628
- "enum": ["LOCKED", "UNLOCKED"]
629
- },
630
- "capture": {
631
- "type": "boolean",
632
- "description": "Whether the card should be captured at next use"
633
- },
634
- "updatedOn": {
635
- "type": "string",
636
- "description": "Time data was last updated",
637
- "format": "date-time"
638
- },
639
- "lastModified": {
640
- "type": "string",
641
- "description": "Time data was last modified (Deprecated. Use updatedOn)",
642
- "format": "date-time"
643
- },
644
- "createdOn": {
645
- "description": "Time encrypted data was first stored",
646
- "type": "string",
647
- "format": "date-time"
648
- }
649
- }
650
- }
651
- }
652
- }
653
- }
654
- }
655
- }
656
- },
657
- "required": ["body"],
658
- "additionalProperties": false
659
- },
660
- "default": {
661
- "$schema": "https://json-schema.org/draft/2020-12/schema",
662
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/api/CardQueryResponseDefault",
663
- "type": "object",
664
- "properties": {
665
- "headers": {
666
- "type": "object",
667
- "additionalProperties": true
668
- },
669
- "body": {
670
- "$schema": "https://json-schema.org/draft/2020-12/schema",
671
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/Error",
672
- "type": "object",
673
- "additionalProperties": false,
674
- "description": "Server error message",
675
- "properties": {
676
- "message": {
677
- "type": "string"
678
- },
679
- "code": {
680
- "type": "string"
681
- }
682
- }
683
- }
684
- },
685
- "required": ["body"],
686
- "additionalProperties": false
687
- }
688
- }
689
- }
690
- },
691
- "/payment-card/v1/card/:cardId": {
692
- "get": {
693
- "request": {
694
- "$schema": "https://json-schema.org/draft/2020-12/schema",
695
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/api/CardGetRequestContext",
696
- "type": "object",
697
- "properties": {
698
- "params": {
699
- "type": "object",
700
- "additionalProperties": false,
701
- "properties": {
702
- "at": {
703
- "type": "string",
704
- "format": "date-time"
705
- },
706
- "publicKeyHashQuery": {
707
- "$schema": "https://json-schema.org/draft/2020-12/schema",
708
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/Hash",
709
- "type": "string",
710
- "format": "uuid",
711
- "example": "15a85f64-5717-4562-b3fc-2c963f66afa6",
712
- "description": "UUID derived using @checkdigit/hash"
713
- }
714
- },
715
- "required": ["at"]
716
- },
717
- "headers": {
718
- "type": "object",
719
- "additionalProperties": true
720
- }
721
- },
722
- "required": ["params", "query"],
723
- "additionalProperties": false
724
- },
725
- "responses": {
726
- "200": {
727
- "$schema": "https://json-schema.org/draft/2020-12/schema",
728
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/api/CardGetResponseOK",
729
- "type": "object",
730
- "properties": {
731
- "headers": {
732
- "type": "object",
733
- "properties": {
734
- "last-modified": {
735
- "type": "string",
736
- "format": "date-time"
737
- },
738
- "created-on": {
739
- "type": "string",
740
- "format": "date-time"
741
- },
742
- "updated-on": {
743
- "type": "string",
744
- "format": "date-time"
745
- },
746
- "etag": {
747
- "type": "string"
748
- }
749
- }
750
- },
751
- "body": {
752
- "$schema": "https://json-schema.org/draft/2020-12/schema",
753
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/CardResponse",
754
- "type": "object",
755
- "additionalProperties": false,
756
- "required": ["dataEncryptionKeyId", "storageKeyId", "card"],
757
- "properties": {
758
- "dataEncryptionKeyId": {
759
- "$schema": "https://json-schema.org/draft/2020-12/schema",
760
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/DataEncryptionKeyId",
761
- "type": "string",
762
- "description": "Reference to encryption keys Payment Card Service will use to encrypt the Card object.\n",
763
- "format": "uuid"
764
- },
765
- "storageKeyId": {
766
- "$schema": "https://json-schema.org/draft/2020-12/schema",
767
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/StorageKeyId",
768
- "type": "string",
769
- "description": "DEK's non-derived identifier to be used by Check Digit services only.\n"
770
- },
771
- "encryptedDataEncryptionKey": {
772
- "description": "Encrypted DEK matching the publicKeyHash sent in the request. Used to decrypt values in the Card object.\n",
773
- "type": "string"
774
- },
775
- "card": {
776
- "$schema": "https://json-schema.org/draft/2020-12/schema",
777
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/Card",
778
- "type": "object",
779
- "additionalProperties": false,
780
- "required": [
781
- "bin",
782
- "last4",
783
- "expirationDate",
784
- "cardNumber",
785
- "serviceCode",
786
- "pinOffset",
787
- "applicationTransactionCounter",
788
- "sequenceNumber",
789
- "state",
790
- "active",
791
- "block",
792
- "lock",
793
- "capture",
794
- "createdOn",
795
- "updatedOn",
796
- "lastModified"
797
- ],
798
- "properties": {
799
- "bin": {
800
- "$schema": "https://json-schema.org/draft/2020-12/schema",
801
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/Bin",
802
- "type": "string",
803
- "pattern": "^\\d+$",
804
- "description": "Bank Identification Number",
805
- "minLength": 6,
806
- "maxLength": 8
807
- },
808
- "last4": {
809
- "type": "string",
810
- "pattern": "^\\d+$",
811
- "description": "Last four digits of the card number",
812
- "minLength": 4,
813
- "maxLength": 4
814
- },
815
- "expirationDate": {
816
- "$schema": "https://json-schema.org/draft/2020-12/schema",
817
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/ExpirationDate",
818
- "type": "string",
819
- "pattern": "([0-9][0-9])(0[1-9]|1[0-2])",
820
- "format": "YYMM",
821
- "description": "Expiration date for the card and will be assumed to be the last millisecond of the month",
822
- "minLength": 4,
823
- "maxLength": 4
824
- },
825
- "cardNumber": {
826
- "type": "string",
827
- "description": "Encrypted card number (PAN)"
828
- },
829
- "serviceCode": {
830
- "type": "string",
831
- "pattern": "^\\d+$",
832
- "description": "Service code for the card",
833
- "minLength": 3,
834
- "maxLength": 3
835
- },
836
- "pinOffset": {
837
- "type": "string",
838
- "description": "Encrypted pin offset for the card"
839
- },
840
- "applicationTransactionCounter": {
841
- "type": "integer",
842
- "description": "Application transaction counter (ATC) for the card"
843
- },
844
- "sequenceNumber": {
845
- "type": "integer",
846
- "description": "Used to differentiate issuing the same card and expiration date on multiple plastics"
847
- },
848
- "state": {
849
- "$schema": "https://json-schema.org/draft/2020-12/schema",
850
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/StateStatus",
851
- "description": "The current state of the card",
852
- "type": "string",
853
- "enum": ["CURRENT", "REISSUED", "RETIRED", "FORCED"]
854
- },
855
- "active": {
856
- "$schema": "https://json-schema.org/draft/2020-12/schema",
857
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/ActiveStatus",
858
- "description": "The active/inactive status for the card",
859
- "type": "string",
860
- "enum": ["INACTIVE", "ACTIVE"]
861
- },
862
- "block": {
863
- "$schema": "https://json-schema.org/draft/2020-12/schema",
864
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/BlockStatus",
865
- "type": "string",
866
- "description": "Whether the card is open or blocked for various reasons",
867
- "enum": ["OPEN", "BLOCKED LOST OR STOLEN", "BLOCKED NO FRAUD", "BLOCKED WITH FRAUD"]
868
- },
869
- "lock": {
870
- "$schema": "https://json-schema.org/draft/2020-12/schema",
871
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/LockStatus",
872
- "type": "string",
873
- "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",
874
- "enum": ["LOCKED", "UNLOCKED"]
875
- },
876
- "capture": {
877
- "type": "boolean",
878
- "description": "Whether the card should be captured at next use"
879
- },
880
- "updatedOn": {
881
- "type": "string",
882
- "description": "Time data was last updated",
883
- "format": "date-time"
884
- },
885
- "lastModified": {
886
- "type": "string",
887
- "description": "Time data was last modified (Deprecated. Use updatedOn)",
888
- "format": "date-time"
889
- },
890
- "createdOn": {
891
- "description": "Time encrypted data was first stored",
892
- "type": "string",
893
- "format": "date-time"
894
- }
895
- }
111
+ "type": "string",
112
+ "description": "A public key in PEM format.\nWhen creating a card with a specific card number (i.e. /card/{cardId}/number), use the transmissionKey to\nencrypt the data encryption key used to encrypt the card number.\n"
896
113
  }
897
114
  }
898
115
  }
@@ -900,22 +117,9 @@
900
117
  "required": ["body"],
901
118
  "additionalProperties": false
902
119
  },
903
- "404": {
904
- "$schema": "https://json-schema.org/draft/2020-12/schema",
905
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/api/CardGetResponseNotFound",
906
- "type": "object",
907
- "properties": {
908
- "headers": {
909
- "type": "object",
910
- "additionalProperties": true
911
- }
912
- },
913
- "required": [],
914
- "additionalProperties": false
915
- },
916
120
  "default": {
917
121
  "$schema": "https://json-schema.org/draft/2020-12/schema",
918
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/api/CardGetResponseDefault",
122
+ "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/api/DataEncryptionKeyPutResponseDefault",
919
123
  "type": "object",
920
124
  "properties": {
921
125
  "headers": {
@@ -942,7 +146,10 @@
942
146
  "additionalProperties": false
943
147
  }
944
148
  }
945
- },
149
+ }
150
+ },
151
+ "/payment-card/v1/card": {},
152
+ "/payment-card/v1/card/:cardId": {
946
153
  "put": {
947
154
  "request": {
948
155
  "$schema": "https://json-schema.org/draft/2020-12/schema",
@@ -2231,249 +1438,7 @@
2231
1438
  }
2232
1439
  }
2233
1440
  },
2234
- "/payment-card/v1/card/:cardId/history": {
2235
- "get": {
2236
- "request": {
2237
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2238
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/api/CardHistoryGetRequestContext",
2239
- "type": "object",
2240
- "properties": {
2241
- "params": {
2242
- "type": "object",
2243
- "additionalProperties": false,
2244
- "properties": {
2245
- "fromDate": {
2246
- "type": "string",
2247
- "format": "date-time"
2248
- },
2249
- "toDate": {
2250
- "type": "string",
2251
- "format": "date-time"
2252
- },
2253
- "publicKeyHashQuery": {
2254
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2255
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/Hash",
2256
- "type": "string",
2257
- "format": "uuid",
2258
- "example": "15a85f64-5717-4562-b3fc-2c963f66afa6",
2259
- "description": "UUID derived using @checkdigit/hash"
2260
- }
2261
- },
2262
- "required": ["toDate"]
2263
- },
2264
- "headers": {
2265
- "type": "object",
2266
- "additionalProperties": true
2267
- }
2268
- },
2269
- "required": ["params", "query"],
2270
- "additionalProperties": false
2271
- },
2272
- "responses": {
2273
- "200": {
2274
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2275
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/api/CardHistoryGetResponseOK",
2276
- "type": "object",
2277
- "properties": {
2278
- "headers": {
2279
- "type": "object",
2280
- "additionalProperties": true
2281
- },
2282
- "body": {
2283
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2284
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/History",
2285
- "description": "The History object represents the updates to a Card object over time.\n",
2286
- "type": "object",
2287
- "required": ["updates"],
2288
- "properties": {
2289
- "dataEncryptionKeyId": {
2290
- "type": "string",
2291
- "description": "Reference to encryption keys Payment Card Service used to encrypt the Card object.\n",
2292
- "format": "uuid"
2293
- },
2294
- "storageKeyId": {
2295
- "type": "string",
2296
- "description": "DEK's non-derived identifier to be used by Check Digit services only.\n"
2297
- },
2298
- "encryptedDataEncryptionKey": {
2299
- "description": "RSA encrypted data encryption key used to decrypt AES encrypted values in Card objects.\n",
2300
- "type": "string"
2301
- },
2302
- "updates": {
2303
- "type": "array",
2304
- "items": {
2305
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2306
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/Card",
2307
- "type": "object",
2308
- "additionalProperties": false,
2309
- "required": [
2310
- "bin",
2311
- "last4",
2312
- "expirationDate",
2313
- "cardNumber",
2314
- "serviceCode",
2315
- "pinOffset",
2316
- "applicationTransactionCounter",
2317
- "sequenceNumber",
2318
- "state",
2319
- "active",
2320
- "block",
2321
- "lock",
2322
- "capture",
2323
- "createdOn",
2324
- "updatedOn",
2325
- "lastModified"
2326
- ],
2327
- "properties": {
2328
- "bin": {
2329
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2330
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/Bin",
2331
- "type": "string",
2332
- "pattern": "^\\d+$",
2333
- "description": "Bank Identification Number",
2334
- "minLength": 6,
2335
- "maxLength": 8
2336
- },
2337
- "last4": {
2338
- "type": "string",
2339
- "pattern": "^\\d+$",
2340
- "description": "Last four digits of the card number",
2341
- "minLength": 4,
2342
- "maxLength": 4
2343
- },
2344
- "expirationDate": {
2345
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2346
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/ExpirationDate",
2347
- "type": "string",
2348
- "pattern": "([0-9][0-9])(0[1-9]|1[0-2])",
2349
- "format": "YYMM",
2350
- "description": "Expiration date for the card and will be assumed to be the last millisecond of the month",
2351
- "minLength": 4,
2352
- "maxLength": 4
2353
- },
2354
- "cardNumber": {
2355
- "type": "string",
2356
- "description": "Encrypted card number (PAN)"
2357
- },
2358
- "serviceCode": {
2359
- "type": "string",
2360
- "pattern": "^\\d+$",
2361
- "description": "Service code for the card",
2362
- "minLength": 3,
2363
- "maxLength": 3
2364
- },
2365
- "pinOffset": {
2366
- "type": "string",
2367
- "description": "Encrypted pin offset for the card"
2368
- },
2369
- "applicationTransactionCounter": {
2370
- "type": "integer",
2371
- "description": "Application transaction counter (ATC) for the card"
2372
- },
2373
- "sequenceNumber": {
2374
- "type": "integer",
2375
- "description": "Used to differentiate issuing the same card and expiration date on multiple plastics"
2376
- },
2377
- "state": {
2378
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2379
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/StateStatus",
2380
- "description": "The current state of the card",
2381
- "type": "string",
2382
- "enum": ["CURRENT", "REISSUED", "RETIRED", "FORCED"]
2383
- },
2384
- "active": {
2385
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2386
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/ActiveStatus",
2387
- "description": "The active/inactive status for the card",
2388
- "type": "string",
2389
- "enum": ["INACTIVE", "ACTIVE"]
2390
- },
2391
- "block": {
2392
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2393
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/BlockStatus",
2394
- "type": "string",
2395
- "description": "Whether the card is open or blocked for various reasons",
2396
- "enum": ["OPEN", "BLOCKED LOST OR STOLEN", "BLOCKED NO FRAUD", "BLOCKED WITH FRAUD"]
2397
- },
2398
- "lock": {
2399
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2400
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/LockStatus",
2401
- "type": "string",
2402
- "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",
2403
- "enum": ["LOCKED", "UNLOCKED"]
2404
- },
2405
- "capture": {
2406
- "type": "boolean",
2407
- "description": "Whether the card should be captured at next use"
2408
- },
2409
- "updatedOn": {
2410
- "type": "string",
2411
- "description": "Time data was last updated",
2412
- "format": "date-time"
2413
- },
2414
- "lastModified": {
2415
- "type": "string",
2416
- "description": "Time data was last modified (Deprecated. Use updatedOn)",
2417
- "format": "date-time"
2418
- },
2419
- "createdOn": {
2420
- "description": "Time encrypted data was first stored",
2421
- "type": "string",
2422
- "format": "date-time"
2423
- }
2424
- }
2425
- }
2426
- }
2427
- }
2428
- }
2429
- },
2430
- "required": ["body"],
2431
- "additionalProperties": false
2432
- },
2433
- "404": {
2434
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2435
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/api/CardHistoryGetResponseNotFound",
2436
- "type": "object",
2437
- "properties": {
2438
- "headers": {
2439
- "type": "object",
2440
- "additionalProperties": true
2441
- }
2442
- },
2443
- "required": [],
2444
- "additionalProperties": false
2445
- },
2446
- "default": {
2447
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2448
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/api/CardHistoryGetResponseDefault",
2449
- "type": "object",
2450
- "properties": {
2451
- "headers": {
2452
- "type": "object",
2453
- "additionalProperties": true
2454
- },
2455
- "body": {
2456
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2457
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/Error",
2458
- "type": "object",
2459
- "additionalProperties": false,
2460
- "description": "Server error message",
2461
- "properties": {
2462
- "message": {
2463
- "type": "string"
2464
- },
2465
- "code": {
2466
- "type": "string"
2467
- }
2468
- }
2469
- }
2470
- },
2471
- "required": ["body"],
2472
- "additionalProperties": false
2473
- }
2474
- }
2475
- }
2476
- },
1441
+ "/payment-card/v1/card/:cardId/history": {},
2477
1442
  "/payment-card/v1/card/:cardId/lock/:lockStatus": {
2478
1443
  "put": {
2479
1444
  "request": {
@@ -2876,121 +1841,7 @@
2876
1841
  }
2877
1842
  }
2878
1843
  },
2879
- "/payment-card/v1/card-number/:cardId/key/:publicKeyHashPath": {
2880
- "put": {
2881
- "request": {
2882
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2883
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/api/CardNumberKeyPutRequestContext",
2884
- "type": "object",
2885
- "properties": {
2886
- "params": {
2887
- "type": "object",
2888
- "additionalProperties": false,
2889
- "properties": {
2890
- "cardId": {
2891
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2892
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/CardId",
2893
- "type": "string",
2894
- "description": "Card identifier",
2895
- "format": "uuid"
2896
- },
2897
- "publicKeyHashPath": {
2898
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2899
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/Hash",
2900
- "type": "string",
2901
- "format": "uuid",
2902
- "example": "15a85f64-5717-4562-b3fc-2c963f66afa6",
2903
- "description": "UUID derived using @checkdigit/hash"
2904
- }
2905
- },
2906
- "required": ["cardId", "publicKeyHashPath"]
2907
- },
2908
- "headers": {
2909
- "type": "object",
2910
- "additionalProperties": true
2911
- },
2912
- "body": {
2913
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2914
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/CardNumberRequest",
2915
- "type": "object",
2916
- "additionalProperties": false,
2917
- "required": ["publicKey"],
2918
- "properties": {
2919
- "publicKey": {
2920
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2921
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/PublicKey",
2922
- "description": "Public key in PEM format",
2923
- "type": "string",
2924
- "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"
2925
- }
2926
- }
2927
- }
2928
- },
2929
- "required": ["params", "body"],
2930
- "additionalProperties": false
2931
- },
2932
- "responses": {
2933
- "200": {
2934
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2935
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/api/CardNumberKeyPutResponseOK",
2936
- "type": "object",
2937
- "properties": {
2938
- "headers": {
2939
- "type": "object",
2940
- "additionalProperties": true
2941
- },
2942
- "body": {
2943
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2944
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/EncryptedCardNumber",
2945
- "type": "object",
2946
- "additionalProperties": false,
2947
- "required": ["encryptedDataEncryptionKey", "cardNumber"],
2948
- "properties": {
2949
- "encryptedDataEncryptionKey": {
2950
- "description": "RSA encrypted data encryption key used to AES encrypt cardNumber.",
2951
- "type": "string"
2952
- },
2953
- "cardNumber": {
2954
- "type": "string",
2955
- "description": "AES-256 encrypted card number"
2956
- }
2957
- }
2958
- }
2959
- },
2960
- "required": ["body"],
2961
- "additionalProperties": false
2962
- },
2963
- "default": {
2964
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2965
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/api/CardNumberKeyPutResponseDefault",
2966
- "type": "object",
2967
- "properties": {
2968
- "headers": {
2969
- "type": "object",
2970
- "additionalProperties": true
2971
- },
2972
- "body": {
2973
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2974
- "$id": "https://eslint-plugin.checkdigit/payment-card/v1/schemas/definitions/Error",
2975
- "type": "object",
2976
- "additionalProperties": false,
2977
- "description": "Server error message",
2978
- "properties": {
2979
- "message": {
2980
- "type": "string"
2981
- },
2982
- "code": {
2983
- "type": "string"
2984
- }
2985
- }
2986
- }
2987
- },
2988
- "required": ["body"],
2989
- "additionalProperties": false
2990
- }
2991
- }
2992
- }
2993
- },
1844
+ "/payment-card/v1/card-number/:cardId/key/:publicKeyHashPath": {},
2994
1845
  "/payment-card/v1/pin-offset-key/:pinOffsetKeyId": {
2995
1846
  "put": {
2996
1847
  "request": {