@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.
- package/dist-mjs/athena/api-locator.mjs +30 -0
- package/dist-mjs/athena/api-matcher.mjs +108 -0
- package/dist-mjs/athena/athena.mjs +328 -0
- package/dist-mjs/athena/column.mjs +1 -0
- package/dist-mjs/athena/context.mjs +21 -0
- package/dist-mjs/athena/index.mjs +1 -0
- package/dist-mjs/athena/service-table.mjs +32 -0
- package/dist-mjs/athena/types.mjs +1 -0
- package/dist-mjs/athena/visitor.mjs +258 -0
- package/dist-mjs/index.mjs +8 -4
- package/dist-mjs/no-status-code-assert.mjs +1 -1
- package/dist-mjs/openapi/deref-schema.mjs +14 -0
- package/dist-mjs/openapi/generate-schema.mjs +273 -0
- package/dist-mjs/openapi/service-schema-generator.mjs +147 -0
- package/dist-mjs/peggy/athena-peggy.mjs +20629 -0
- package/dist-types/athena/api-locator.d.ts +2 -0
- package/dist-types/athena/api-matcher.d.ts +14 -0
- package/dist-types/athena/athena.d.ts +6 -0
- package/dist-types/athena/column.d.ts +1 -0
- package/dist-types/athena/context.d.ts +21 -0
- package/dist-types/athena/index.d.ts +8 -0
- package/dist-types/athena/service-table.d.ts +8 -0
- package/dist-types/athena/types.d.ts +474 -0
- package/dist-types/athena/visitor.d.ts +63 -0
- package/dist-types/no-status-code-assert.d.ts +1 -1
- package/dist-types/openapi/deref-schema.d.ts +1 -0
- package/dist-types/openapi/generate-schema.d.ts +33 -0
- package/dist-types/openapi/service-schema-generator.d.ts +5 -0
- package/dist-types/peggy/athena-peggy.d.ts +13 -0
- package/package.json +1 -96
- package/src/athena/ATHENA.md +387 -0
- package/src/athena/PLAN.md +355 -0
- package/src/athena/api-locator.ts +39 -0
- package/src/athena/api-matcher.ts +169 -0
- package/src/athena/athena.ts +488 -0
- package/src/athena/column.ts +2 -0
- package/src/athena/context.ts +47 -0
- package/src/athena/index.ts +11 -0
- package/src/athena/service-table.ts +55 -0
- package/src/athena/types.ts +526 -0
- package/src/athena/visitor.ts +365 -0
- package/src/index.ts +4 -0
- package/src/no-side-effects.ts +1 -1
- package/src/no-status-code-assert.ts +2 -2
- package/src/openapi/deref-schema.ts +14 -0
- package/src/openapi/generate-schema.ts +422 -0
- package/src/openapi/service-schema-generator.ts +189 -0
- package/src/peggy/athena-chat.peggy +608 -0
- package/src/peggy/athena-peggy.ts +22078 -0
- package/src/peggy/athena.peggy +2967 -0
- package/src/require-service-call-response-declaration.ts +2 -2
- package/src/services/interchange/v1/swagger.schema.deref.json +849 -0
- package/src/services/interchange/v1/swagger.schema.json +473 -0
- package/src/services/interchange/v1/swagger.yml +414 -0
- package/src/services/ledger/v1/swagger.schema.deref.json +6694 -0
- package/src/services/ledger/v1/swagger.schema.json +1820 -0
- package/src/services/ledger/v1/swagger.yml +1094 -0
- package/src/services/link/v1/swagger.schema.deref.json +648 -0
- package/src/services/link/v1/swagger.schema.json +444 -0
- package/src/services/link/v1/swagger.yml +343 -0
- package/src/services/message/v1/swagger.schema.deref.json +22049 -0
- package/src/services/message/v1/swagger.schema.json +3470 -0
- package/src/services/message/v1/swagger.yml +2798 -0
- package/src/services/message/v2/swagger.schema.deref.json +72221 -0
- package/src/services/message/v2/swagger.schema.json +3558 -0
- package/src/services/message/v2/swagger.yml +3009 -0
- package/src/services/paymentCard/v1/swagger.schema.deref.json +4346 -0
- package/src/services/paymentCard/v1/swagger.schema.json +2181 -0
- package/src/services/paymentCard/v1/swagger.yml +1161 -0
- package/src/services/paymentCard/v2/swagger.schema.deref.json +4336 -0
- package/src/services/paymentCard/v2/swagger.schema.json +2155 -0
- package/src/services/paymentCard/v2/swagger.yml +1149 -0
- package/src/services/person/v1/swagger.schema.deref.json +6786 -0
- package/src/services/person/v1/swagger.schema.json +1445 -0
- package/src/services/person/v1/swagger.yml +1157 -0
- package/src/services/teampayApproval/v1/swagger.schema.deref.json +9898 -0
- package/src/services/teampayCardManagement/v1/swagger.schema.deref.json +6187 -0
- package/src/services/teampayClientManagement/v1/swagger.schema.deref.json +4914 -0
- package/src/services/teampayClientManagement/v1/swagger.schema.json +1964 -0
- package/src/services/teampayClientManagement/v1/swagger.yml +1376 -0
|
@@ -0,0 +1,1161 @@
|
|
|
1
|
+
openapi: 3.0.0
|
|
2
|
+
info:
|
|
3
|
+
title: Payment Card
|
|
4
|
+
version: 1.11.5
|
|
5
|
+
contact:
|
|
6
|
+
name: Check Digit
|
|
7
|
+
description: |
|
|
8
|
+
## Description
|
|
9
|
+
Securely create and obtain cards by id or card number.
|
|
10
|
+
|
|
11
|
+
## Other features
|
|
12
|
+
- Update active, state, block, lock, and capture statuses
|
|
13
|
+
- Update Application Transaction Counter
|
|
14
|
+
- Retrieve card record by hashed card number
|
|
15
|
+
- Retrieve card history
|
|
16
|
+
- Update user defined PIN (by updating pin-offset)
|
|
17
|
+
- Retrieve card number decrytpable by a caller not involved in card creation
|
|
18
|
+
|
|
19
|
+
© Check Digit LLC. 2021-2023
|
|
20
|
+
servers:
|
|
21
|
+
- url: /payment-card/v1
|
|
22
|
+
|
|
23
|
+
tags:
|
|
24
|
+
- name: Service Health
|
|
25
|
+
- name: API
|
|
26
|
+
|
|
27
|
+
x-firehose-logged: false
|
|
28
|
+
|
|
29
|
+
paths:
|
|
30
|
+
/ping:
|
|
31
|
+
get:
|
|
32
|
+
tags:
|
|
33
|
+
- Service Health
|
|
34
|
+
operationId: 'ping-get'
|
|
35
|
+
description: Tests the availability of the service and returns the current server time
|
|
36
|
+
responses:
|
|
37
|
+
'200':
|
|
38
|
+
$ref: '#/components/responses/Ping'
|
|
39
|
+
default:
|
|
40
|
+
$ref: '#/components/responses/ServerError'
|
|
41
|
+
|
|
42
|
+
/public-key:
|
|
43
|
+
get:
|
|
44
|
+
tags:
|
|
45
|
+
- API
|
|
46
|
+
operationId: 'public-key-get'
|
|
47
|
+
description: Retrieves Payment Card Service's rsa public key. This key is used to securely transmit data to Payment Card Service APIs.
|
|
48
|
+
responses:
|
|
49
|
+
'200':
|
|
50
|
+
$ref: '#/components/responses/PublicKeyResponse'
|
|
51
|
+
default:
|
|
52
|
+
$ref: '#/components/responses/ServerError'
|
|
53
|
+
|
|
54
|
+
/data-encryption-key/{dataEncryptionKeyId}:
|
|
55
|
+
get:
|
|
56
|
+
tags:
|
|
57
|
+
- API
|
|
58
|
+
operationId: 'data-encryption-key-get'
|
|
59
|
+
description: |
|
|
60
|
+
Retrieves data encryption keys. Data encryption keys are RSA encrypted and paired with a hashed version of
|
|
61
|
+
the public key used to encrypt.
|
|
62
|
+
parameters:
|
|
63
|
+
- $ref: '#/components/parameters/dataEncryptionKeyId'
|
|
64
|
+
responses:
|
|
65
|
+
'200':
|
|
66
|
+
$ref: '#/components/responses/DataEncryptionKeyResponse'
|
|
67
|
+
'404':
|
|
68
|
+
$ref: '#/components/responses/NotFound'
|
|
69
|
+
default:
|
|
70
|
+
$ref: '#/components/responses/ServerError'
|
|
71
|
+
put:
|
|
72
|
+
x-firehose-logged: true
|
|
73
|
+
tags:
|
|
74
|
+
- API
|
|
75
|
+
operationId: 'data-encryption-key-put'
|
|
76
|
+
description: |
|
|
77
|
+
Creates data encryption keys used by Payment Card service to encrypt the Card object. The dataEncryptionKeyId is included
|
|
78
|
+
in the NewCardRequest when creating a Payment Card object.
|
|
79
|
+
|
|
80
|
+
Data encyrption keys can be reused when creating new Payment Card objects. This is particularly useful for batch
|
|
81
|
+
operations.
|
|
82
|
+
parameters:
|
|
83
|
+
- $ref: '#/components/parameters/dataEncryptionKeyId'
|
|
84
|
+
requestBody:
|
|
85
|
+
$ref: '#/components/requestBodies/DataEncryptionKeyRequest'
|
|
86
|
+
responses:
|
|
87
|
+
'200':
|
|
88
|
+
$ref: '#/components/responses/DataEncryptionKeyResponse'
|
|
89
|
+
default:
|
|
90
|
+
$ref: '#/components/responses/ServerError'
|
|
91
|
+
|
|
92
|
+
/card:
|
|
93
|
+
get:
|
|
94
|
+
tags:
|
|
95
|
+
- API
|
|
96
|
+
operationId: 'card-query'
|
|
97
|
+
description: |
|
|
98
|
+
Retrieves cards by card number. Card number must be hashed using @checkdigit/hash.
|
|
99
|
+
parameters:
|
|
100
|
+
- $ref: '#/components/parameters/cardNumberHash'
|
|
101
|
+
- $ref: '#/components/parameters/at'
|
|
102
|
+
responses:
|
|
103
|
+
'200':
|
|
104
|
+
$ref: '#/components/responses/Query'
|
|
105
|
+
default:
|
|
106
|
+
$ref: '#/components/responses/ServerError'
|
|
107
|
+
|
|
108
|
+
/card/{cardId}:
|
|
109
|
+
get:
|
|
110
|
+
tags:
|
|
111
|
+
- API
|
|
112
|
+
operationId: 'card-get'
|
|
113
|
+
description: Retrieves a card by id.
|
|
114
|
+
parameters:
|
|
115
|
+
- $ref: '#/components/parameters/cardId'
|
|
116
|
+
- $ref: '#/components/parameters/at'
|
|
117
|
+
- $ref: '#/components/parameters/publicKeyHashQuery'
|
|
118
|
+
responses:
|
|
119
|
+
'200':
|
|
120
|
+
$ref: '#/components/responses/CardResponse'
|
|
121
|
+
'404':
|
|
122
|
+
$ref: '#/components/responses/NotFound'
|
|
123
|
+
default:
|
|
124
|
+
$ref: '#/components/responses/ServerError'
|
|
125
|
+
put:
|
|
126
|
+
x-firehose-logged: true
|
|
127
|
+
tags:
|
|
128
|
+
- API
|
|
129
|
+
operationId: 'card-put'
|
|
130
|
+
description: Creates a new card.
|
|
131
|
+
parameters:
|
|
132
|
+
- $ref: '#/components/parameters/cardId'
|
|
133
|
+
- $ref: '#/components/parameters/createdOn'
|
|
134
|
+
- $ref: '#/components/parameters/lastModified'
|
|
135
|
+
requestBody:
|
|
136
|
+
$ref: '#/components/requestBodies/NewCardRequest'
|
|
137
|
+
responses:
|
|
138
|
+
'200':
|
|
139
|
+
$ref: '#/components/responses/CardResponse'
|
|
140
|
+
'409':
|
|
141
|
+
$ref: '#/components/responses/Conflict'
|
|
142
|
+
'412':
|
|
143
|
+
$ref: '#/components/responses/PreconditionFailed'
|
|
144
|
+
default:
|
|
145
|
+
$ref: '#/components/responses/ServerError'
|
|
146
|
+
|
|
147
|
+
/card/{cardId}/number:
|
|
148
|
+
put:
|
|
149
|
+
x-firehose-logged: true
|
|
150
|
+
tags:
|
|
151
|
+
- API
|
|
152
|
+
operationId: 'card-number-put'
|
|
153
|
+
description: Creates new card with a card number
|
|
154
|
+
parameters:
|
|
155
|
+
- $ref: '#/components/parameters/cardId'
|
|
156
|
+
- $ref: '#/components/parameters/createdOn'
|
|
157
|
+
- $ref: '#/components/parameters/lastModified'
|
|
158
|
+
requestBody:
|
|
159
|
+
$ref: '#/components/requestBodies/NewCardRequestWithCardNumber'
|
|
160
|
+
responses:
|
|
161
|
+
'200':
|
|
162
|
+
$ref: '#/components/responses/CardResponse'
|
|
163
|
+
'409':
|
|
164
|
+
$ref: '#/components/responses/Conflict'
|
|
165
|
+
'412':
|
|
166
|
+
$ref: '#/components/responses/PreconditionFailed'
|
|
167
|
+
default:
|
|
168
|
+
$ref: '#/components/responses/ServerError'
|
|
169
|
+
|
|
170
|
+
/card/{cardId}/active/{activeStatus}:
|
|
171
|
+
put:
|
|
172
|
+
x-firehose-logged: true
|
|
173
|
+
tags:
|
|
174
|
+
- API
|
|
175
|
+
operationId: 'card-active-put'
|
|
176
|
+
description: Updates active status
|
|
177
|
+
parameters:
|
|
178
|
+
- $ref: '#/components/parameters/cardId'
|
|
179
|
+
- $ref: '#/components/parameters/activeStatus'
|
|
180
|
+
- $ref: '#/components/parameters/createdOn'
|
|
181
|
+
- $ref: '#/components/parameters/lastModified'
|
|
182
|
+
- $ref: '#/components/parameters/ifMatch'
|
|
183
|
+
responses:
|
|
184
|
+
'204':
|
|
185
|
+
$ref: '#/components/responses/NoContent'
|
|
186
|
+
'409':
|
|
187
|
+
$ref: '#/components/responses/Conflict'
|
|
188
|
+
'412':
|
|
189
|
+
$ref: '#/components/responses/PreconditionFailed'
|
|
190
|
+
default:
|
|
191
|
+
$ref: '#/components/responses/ServerError'
|
|
192
|
+
|
|
193
|
+
/card/{cardId}/application-transaction-counter/{applicationTransactionCounter}:
|
|
194
|
+
put:
|
|
195
|
+
x-firehose-logged: true
|
|
196
|
+
tags:
|
|
197
|
+
- API
|
|
198
|
+
operationId: 'card-application-transaction-counter-put'
|
|
199
|
+
description: Updates application transaction counter
|
|
200
|
+
parameters:
|
|
201
|
+
- $ref: '#/components/parameters/cardId'
|
|
202
|
+
- $ref: '#/components/parameters/applicationTransactionCounter'
|
|
203
|
+
- $ref: '#/components/parameters/createdOn'
|
|
204
|
+
- $ref: '#/components/parameters/lastModified'
|
|
205
|
+
- $ref: '#/components/parameters/ifMatch'
|
|
206
|
+
responses:
|
|
207
|
+
'204':
|
|
208
|
+
$ref: '#/components/responses/NoContent'
|
|
209
|
+
'409':
|
|
210
|
+
$ref: '#/components/responses/Conflict'
|
|
211
|
+
'412':
|
|
212
|
+
$ref: '#/components/responses/PreconditionFailed'
|
|
213
|
+
default:
|
|
214
|
+
$ref: '#/components/responses/ServerError'
|
|
215
|
+
|
|
216
|
+
/card/{cardId}/block/{blockStatus}:
|
|
217
|
+
put:
|
|
218
|
+
x-firehose-logged: true
|
|
219
|
+
tags:
|
|
220
|
+
- API
|
|
221
|
+
operationId: 'card-block-put'
|
|
222
|
+
description: Updates block status
|
|
223
|
+
parameters:
|
|
224
|
+
- $ref: '#/components/parameters/cardId'
|
|
225
|
+
- $ref: '#/components/parameters/blockStatus'
|
|
226
|
+
- $ref: '#/components/parameters/createdOn'
|
|
227
|
+
- $ref: '#/components/parameters/lastModified'
|
|
228
|
+
- $ref: '#/components/parameters/ifMatch'
|
|
229
|
+
responses:
|
|
230
|
+
'204':
|
|
231
|
+
$ref: '#/components/responses/NoContent'
|
|
232
|
+
'409':
|
|
233
|
+
$ref: '#/components/responses/Conflict'
|
|
234
|
+
'412':
|
|
235
|
+
$ref: '#/components/responses/PreconditionFailed'
|
|
236
|
+
default:
|
|
237
|
+
$ref: '#/components/responses/ServerError'
|
|
238
|
+
|
|
239
|
+
/card/{cardId}/capture/{captureStatus}:
|
|
240
|
+
put:
|
|
241
|
+
x-firehose-logged: true
|
|
242
|
+
tags:
|
|
243
|
+
- API
|
|
244
|
+
operationId: 'card-capture-put'
|
|
245
|
+
description: Updates capture status
|
|
246
|
+
parameters:
|
|
247
|
+
- $ref: '#/components/parameters/cardId'
|
|
248
|
+
- $ref: '#/components/parameters/captureStatus'
|
|
249
|
+
- $ref: '#/components/parameters/createdOn'
|
|
250
|
+
- $ref: '#/components/parameters/lastModified'
|
|
251
|
+
- $ref: '#/components/parameters/ifMatch'
|
|
252
|
+
responses:
|
|
253
|
+
'204':
|
|
254
|
+
$ref: '#/components/responses/NoContent'
|
|
255
|
+
'409':
|
|
256
|
+
$ref: '#/components/responses/Conflict'
|
|
257
|
+
'412':
|
|
258
|
+
$ref: '#/components/responses/PreconditionFailed'
|
|
259
|
+
default:
|
|
260
|
+
$ref: '#/components/responses/ServerError'
|
|
261
|
+
|
|
262
|
+
/card/{cardId}/history:
|
|
263
|
+
get:
|
|
264
|
+
tags:
|
|
265
|
+
- API
|
|
266
|
+
operationId: 'card-history-get'
|
|
267
|
+
description: Obtains card history by id
|
|
268
|
+
parameters:
|
|
269
|
+
- $ref: '#/components/parameters/cardId'
|
|
270
|
+
- $ref: '#/components/parameters/fromDate'
|
|
271
|
+
- $ref: '#/components/parameters/toDate'
|
|
272
|
+
- $ref: '#/components/parameters/publicKeyHashQuery'
|
|
273
|
+
responses:
|
|
274
|
+
'200':
|
|
275
|
+
$ref: '#/components/responses/History'
|
|
276
|
+
'404':
|
|
277
|
+
$ref: '#/components/responses/NotFound'
|
|
278
|
+
default:
|
|
279
|
+
$ref: '#/components/responses/ServerError'
|
|
280
|
+
|
|
281
|
+
/card/{cardId}/lock/{lockStatus}:
|
|
282
|
+
put:
|
|
283
|
+
x-firehose-logged: true
|
|
284
|
+
tags:
|
|
285
|
+
- API
|
|
286
|
+
operationId: 'card-lock-put'
|
|
287
|
+
description: Updates lock status
|
|
288
|
+
parameters:
|
|
289
|
+
- $ref: '#/components/parameters/cardId'
|
|
290
|
+
- $ref: '#/components/parameters/lockStatus'
|
|
291
|
+
- $ref: '#/components/parameters/createdOn'
|
|
292
|
+
- $ref: '#/components/parameters/lastModified'
|
|
293
|
+
- $ref: '#/components/parameters/ifMatch'
|
|
294
|
+
responses:
|
|
295
|
+
'204':
|
|
296
|
+
$ref: '#/components/responses/NoContent'
|
|
297
|
+
'409':
|
|
298
|
+
$ref: '#/components/responses/Conflict'
|
|
299
|
+
'412':
|
|
300
|
+
$ref: '#/components/responses/PreconditionFailed'
|
|
301
|
+
default:
|
|
302
|
+
$ref: '#/components/responses/ServerError'
|
|
303
|
+
|
|
304
|
+
/card/{cardId}/pin-offset:
|
|
305
|
+
put:
|
|
306
|
+
x-firehose-logged: true
|
|
307
|
+
tags:
|
|
308
|
+
- API
|
|
309
|
+
operationId: 'card-pin-offset-put'
|
|
310
|
+
description: Updates pin-offset using a one-time use pin-offset-key
|
|
311
|
+
parameters:
|
|
312
|
+
- $ref: '#/components/parameters/cardId'
|
|
313
|
+
- $ref: '#/components/parameters/createdOn'
|
|
314
|
+
- $ref: '#/components/parameters/lastModified'
|
|
315
|
+
- $ref: '#/components/parameters/ifMatch'
|
|
316
|
+
requestBody:
|
|
317
|
+
$ref: '#/components/requestBodies/PinOffsetRequest'
|
|
318
|
+
responses:
|
|
319
|
+
'204':
|
|
320
|
+
$ref: '#/components/responses/NoContent'
|
|
321
|
+
default:
|
|
322
|
+
$ref: '#/components/responses/ServerError'
|
|
323
|
+
|
|
324
|
+
/card/{cardId}/state/{stateStatus}:
|
|
325
|
+
put:
|
|
326
|
+
x-firehose-logged: true
|
|
327
|
+
tags:
|
|
328
|
+
- API
|
|
329
|
+
operationId: 'card-state-put'
|
|
330
|
+
description: Updates state status
|
|
331
|
+
parameters:
|
|
332
|
+
- $ref: '#/components/parameters/cardId'
|
|
333
|
+
- $ref: '#/components/parameters/stateStatus'
|
|
334
|
+
- $ref: '#/components/parameters/createdOn'
|
|
335
|
+
- $ref: '#/components/parameters/lastModified'
|
|
336
|
+
- $ref: '#/components/parameters/ifMatch'
|
|
337
|
+
responses:
|
|
338
|
+
'204':
|
|
339
|
+
$ref: '#/components/responses/NoContent'
|
|
340
|
+
'409':
|
|
341
|
+
$ref: '#/components/responses/Conflict'
|
|
342
|
+
'412':
|
|
343
|
+
$ref: '#/components/responses/PreconditionFailed'
|
|
344
|
+
default:
|
|
345
|
+
$ref: '#/components/responses/ServerError'
|
|
346
|
+
|
|
347
|
+
/card-number/{cardId}/key/{publicKeyHashPath}:
|
|
348
|
+
put:
|
|
349
|
+
tags:
|
|
350
|
+
- API
|
|
351
|
+
operationId: 'card-number-key-put'
|
|
352
|
+
description: |
|
|
353
|
+
Obtains an encrypted card number decryptable by caller's private key.
|
|
354
|
+
parameters:
|
|
355
|
+
- $ref: '#/components/parameters/cardId'
|
|
356
|
+
- $ref: '#/components/parameters/publicKeyHashPath'
|
|
357
|
+
requestBody:
|
|
358
|
+
$ref: '#/components/requestBodies/CardNumberRequest'
|
|
359
|
+
responses:
|
|
360
|
+
'200':
|
|
361
|
+
$ref: '#/components/responses/EncryptedCardNumber'
|
|
362
|
+
default:
|
|
363
|
+
$ref: '#/components/responses/ServerError'
|
|
364
|
+
|
|
365
|
+
/pin-offset-key/{pinOffsetKeyId}:
|
|
366
|
+
put:
|
|
367
|
+
x-firehose-logged: true
|
|
368
|
+
tags:
|
|
369
|
+
- API
|
|
370
|
+
operationId: 'pin-offset-key-put'
|
|
371
|
+
description: Creates a one-time use transmission key to transmit the user defined pin during pin changes
|
|
372
|
+
parameters:
|
|
373
|
+
- $ref: '#/components/parameters/pinOffsetKeyId'
|
|
374
|
+
responses:
|
|
375
|
+
'200':
|
|
376
|
+
$ref: '#/components/responses/PinOffsetKey'
|
|
377
|
+
default:
|
|
378
|
+
$ref: '#/components/responses/ServerError'
|
|
379
|
+
|
|
380
|
+
components:
|
|
381
|
+
schemas:
|
|
382
|
+
ActiveStatus:
|
|
383
|
+
description: The active/inactive status for the card
|
|
384
|
+
type: string
|
|
385
|
+
enum:
|
|
386
|
+
- INACTIVE
|
|
387
|
+
- ACTIVE
|
|
388
|
+
|
|
389
|
+
Bin:
|
|
390
|
+
type: string
|
|
391
|
+
pattern: '^\d+$'
|
|
392
|
+
description: Bank Identification Number
|
|
393
|
+
minLength: 6
|
|
394
|
+
maxLength: 8
|
|
395
|
+
|
|
396
|
+
BlockStatus:
|
|
397
|
+
type: string
|
|
398
|
+
description: Whether the card is open or blocked for various reasons
|
|
399
|
+
enum:
|
|
400
|
+
- OPEN
|
|
401
|
+
- BLOCKED LOST OR STOLEN
|
|
402
|
+
- BLOCKED NO FRAUD
|
|
403
|
+
- BLOCKED WITH FRAUD
|
|
404
|
+
|
|
405
|
+
Card:
|
|
406
|
+
type: object
|
|
407
|
+
additionalProperties: false
|
|
408
|
+
required:
|
|
409
|
+
- bin
|
|
410
|
+
- last4
|
|
411
|
+
- expirationDate
|
|
412
|
+
- cardNumber
|
|
413
|
+
- serviceCode
|
|
414
|
+
- pinOffset
|
|
415
|
+
- applicationTransactionCounter
|
|
416
|
+
- sequenceNumber
|
|
417
|
+
- state
|
|
418
|
+
- active
|
|
419
|
+
- block
|
|
420
|
+
- lock
|
|
421
|
+
- capture
|
|
422
|
+
- createdOn
|
|
423
|
+
- updatedOn
|
|
424
|
+
- lastModified
|
|
425
|
+
properties:
|
|
426
|
+
bin:
|
|
427
|
+
$ref: '#/components/schemas/Bin'
|
|
428
|
+
last4:
|
|
429
|
+
type: string
|
|
430
|
+
pattern: '^\d+$'
|
|
431
|
+
description: Last four digits of the card number
|
|
432
|
+
minLength: 4
|
|
433
|
+
maxLength: 4
|
|
434
|
+
expirationDate:
|
|
435
|
+
$ref: '#/components/schemas/ExpirationDate'
|
|
436
|
+
cardNumber:
|
|
437
|
+
type: string
|
|
438
|
+
description: Encrypted card number (PAN)
|
|
439
|
+
serviceCode:
|
|
440
|
+
type: string
|
|
441
|
+
pattern: '^\d+$'
|
|
442
|
+
description: Service code for the card
|
|
443
|
+
minLength: 3
|
|
444
|
+
maxLength: 3
|
|
445
|
+
pinOffset:
|
|
446
|
+
type: string
|
|
447
|
+
description: Encrypted pin offset for the card
|
|
448
|
+
applicationTransactionCounter:
|
|
449
|
+
type: integer
|
|
450
|
+
description: Application transaction counter (ATC) for the card
|
|
451
|
+
sequenceNumber:
|
|
452
|
+
type: integer
|
|
453
|
+
description: Used to differentiate issuing the same card and expiration date on multiple plastics
|
|
454
|
+
state:
|
|
455
|
+
$ref: '#/components/schemas/StateStatus'
|
|
456
|
+
active:
|
|
457
|
+
$ref: '#/components/schemas/ActiveStatus'
|
|
458
|
+
block:
|
|
459
|
+
$ref: '#/components/schemas/BlockStatus'
|
|
460
|
+
lock:
|
|
461
|
+
$ref: '#/components/schemas/LockStatus'
|
|
462
|
+
capture:
|
|
463
|
+
type: boolean
|
|
464
|
+
description: Whether the card should be captured at next use
|
|
465
|
+
updatedOn:
|
|
466
|
+
type: string
|
|
467
|
+
description: Time data was last updated
|
|
468
|
+
format: date-time
|
|
469
|
+
lastModified:
|
|
470
|
+
type: string
|
|
471
|
+
description: Time data was last modified (Deprecated. Use updatedOn)
|
|
472
|
+
format: date-time
|
|
473
|
+
createdOn:
|
|
474
|
+
description: Time encrypted data was first stored
|
|
475
|
+
type: string
|
|
476
|
+
format: date-time
|
|
477
|
+
|
|
478
|
+
CardResponse:
|
|
479
|
+
type: object
|
|
480
|
+
additionalProperties: false
|
|
481
|
+
required:
|
|
482
|
+
- dataEncryptionKeyId
|
|
483
|
+
- storageKeyId
|
|
484
|
+
- card
|
|
485
|
+
properties:
|
|
486
|
+
dataEncryptionKeyId:
|
|
487
|
+
$ref: '#/components/schemas/DataEncryptionKeyId'
|
|
488
|
+
storageKeyId:
|
|
489
|
+
$ref: '#/components/schemas/StorageKeyId'
|
|
490
|
+
encryptedDataEncryptionKey:
|
|
491
|
+
description: |
|
|
492
|
+
Encrypted DEK matching the publicKeyHash sent in the request. Used to decrypt values in the Card object.
|
|
493
|
+
type: string
|
|
494
|
+
card:
|
|
495
|
+
$ref: '#/components/schemas/Card'
|
|
496
|
+
|
|
497
|
+
CardQueryResponse:
|
|
498
|
+
type: object
|
|
499
|
+
additionalProperties: false
|
|
500
|
+
required:
|
|
501
|
+
- dataEncryptionKeyId
|
|
502
|
+
- storageKeyId
|
|
503
|
+
- cardId
|
|
504
|
+
- card
|
|
505
|
+
properties:
|
|
506
|
+
dataEncryptionKeyId:
|
|
507
|
+
$ref: '#/components/schemas/DataEncryptionKeyId'
|
|
508
|
+
storageKeyId:
|
|
509
|
+
$ref: '#/components/schemas/StorageKeyId'
|
|
510
|
+
encryptedDataEncryptionKey:
|
|
511
|
+
description: |
|
|
512
|
+
Encrypted DEK matching the publicKeyHash sent in the request. Used to decrypt values in the Card object.
|
|
513
|
+
type: string
|
|
514
|
+
cardId:
|
|
515
|
+
$ref: '#/components/schemas/CardId'
|
|
516
|
+
card:
|
|
517
|
+
$ref: '#/components/schemas/Card'
|
|
518
|
+
|
|
519
|
+
CardId:
|
|
520
|
+
type: string
|
|
521
|
+
description: Card identifier
|
|
522
|
+
format: uuid
|
|
523
|
+
|
|
524
|
+
Query:
|
|
525
|
+
description: Response from querying /card by cardNumberHash
|
|
526
|
+
type: object
|
|
527
|
+
required:
|
|
528
|
+
- cards
|
|
529
|
+
properties:
|
|
530
|
+
cards:
|
|
531
|
+
type: array
|
|
532
|
+
items:
|
|
533
|
+
$ref: '#/components/schemas/CardQueryResponse'
|
|
534
|
+
|
|
535
|
+
CardNumberRequest:
|
|
536
|
+
type: object
|
|
537
|
+
additionalProperties: false
|
|
538
|
+
required:
|
|
539
|
+
- publicKey
|
|
540
|
+
properties:
|
|
541
|
+
publicKey:
|
|
542
|
+
$ref: '#/components/schemas/PublicKey'
|
|
543
|
+
|
|
544
|
+
EncryptedCardNumber:
|
|
545
|
+
type: object
|
|
546
|
+
additionalProperties: false
|
|
547
|
+
required:
|
|
548
|
+
- encryptedDataEncryptionKey
|
|
549
|
+
- cardNumber
|
|
550
|
+
properties:
|
|
551
|
+
encryptedDataEncryptionKey:
|
|
552
|
+
description: RSA encrypted data encryption key used to AES encrypt cardNumber.
|
|
553
|
+
type: string
|
|
554
|
+
cardNumber:
|
|
555
|
+
type: string
|
|
556
|
+
description: AES-256 encrypted card number
|
|
557
|
+
|
|
558
|
+
Error:
|
|
559
|
+
type: object
|
|
560
|
+
additionalProperties: false
|
|
561
|
+
description: Server error message
|
|
562
|
+
properties:
|
|
563
|
+
message:
|
|
564
|
+
type: string
|
|
565
|
+
code:
|
|
566
|
+
type: string
|
|
567
|
+
|
|
568
|
+
ExpirationDate:
|
|
569
|
+
type: string
|
|
570
|
+
pattern: '([0-9][0-9])(0[1-9]|1[0-2])'
|
|
571
|
+
format: YYMM
|
|
572
|
+
description: Expiration date for the card and will be assumed to be the last millisecond of the month
|
|
573
|
+
minLength: 4
|
|
574
|
+
maxLength: 4
|
|
575
|
+
|
|
576
|
+
DataEncryptionKeyId:
|
|
577
|
+
type: string
|
|
578
|
+
description: |
|
|
579
|
+
Reference to encryption keys Payment Card Service will use to encrypt the Card object.
|
|
580
|
+
format: uuid
|
|
581
|
+
|
|
582
|
+
DataEncryptionKeyRequest:
|
|
583
|
+
type: object
|
|
584
|
+
additionalProperties: false
|
|
585
|
+
required:
|
|
586
|
+
- publicKeys
|
|
587
|
+
properties:
|
|
588
|
+
publicKeys:
|
|
589
|
+
type: array
|
|
590
|
+
minItems: 1
|
|
591
|
+
description: |
|
|
592
|
+
List of public keys in PEM format.
|
|
593
|
+
|
|
594
|
+
Associated private keys can be used to decrypt card data encrypted by Payment Card Service.
|
|
595
|
+
items:
|
|
596
|
+
$ref: '#/components/schemas/PublicKey'
|
|
597
|
+
|
|
598
|
+
DataEncryptionKeyResponse:
|
|
599
|
+
type: object
|
|
600
|
+
required:
|
|
601
|
+
- transmissionKey
|
|
602
|
+
- encryptedDataEncryptionKeys
|
|
603
|
+
- createdOn
|
|
604
|
+
- lastModified
|
|
605
|
+
properties:
|
|
606
|
+
createdOn:
|
|
607
|
+
description: Time data was first stored
|
|
608
|
+
type: string
|
|
609
|
+
format: date-time
|
|
610
|
+
lastModified:
|
|
611
|
+
description: Time data was last modified
|
|
612
|
+
type: string
|
|
613
|
+
format: date-time
|
|
614
|
+
encryptedDataEncryptionKeys:
|
|
615
|
+
type: array
|
|
616
|
+
items:
|
|
617
|
+
type: object
|
|
618
|
+
additionalProperties: false
|
|
619
|
+
description: |
|
|
620
|
+
An object that includes an encrypted data encryption key and a hashed version of the public key used to encrypt it.
|
|
621
|
+
The publicKeyHash string is derived using @checkdigit/hash and the caller's public key included in DataEncryptionKeyRequest.
|
|
622
|
+
required:
|
|
623
|
+
- publicKeyHash
|
|
624
|
+
- encryptedDataEncryptionKey
|
|
625
|
+
properties:
|
|
626
|
+
publicKeyHash:
|
|
627
|
+
$ref: '#/components/schemas/Hash'
|
|
628
|
+
encryptedDataEncryptionKey:
|
|
629
|
+
type: string
|
|
630
|
+
description: RSA encrypted data encryption key used to AES sensitive data in the Card object.
|
|
631
|
+
|
|
632
|
+
transmissionKey:
|
|
633
|
+
type: string
|
|
634
|
+
description: |
|
|
635
|
+
A public key in PEM format.
|
|
636
|
+
When creating a card with a specific card number (i.e. /card/{cardId}/number), use the transmissionKey to
|
|
637
|
+
encrypt the data encryption key used to encrypt the card number.
|
|
638
|
+
|
|
639
|
+
History:
|
|
640
|
+
description: |
|
|
641
|
+
The History object represents the updates to a Card object over time.
|
|
642
|
+
type: object
|
|
643
|
+
required:
|
|
644
|
+
- updates
|
|
645
|
+
properties:
|
|
646
|
+
dataEncryptionKeyId:
|
|
647
|
+
type: string
|
|
648
|
+
description: |
|
|
649
|
+
Reference to encryption keys Payment Card Service used to encrypt the Card object.
|
|
650
|
+
format: uuid
|
|
651
|
+
storageKeyId:
|
|
652
|
+
type: string
|
|
653
|
+
description: |
|
|
654
|
+
DEK's non-derived identifier to be used by Check Digit services only.
|
|
655
|
+
encryptedDataEncryptionKey:
|
|
656
|
+
description: |
|
|
657
|
+
RSA encrypted data encryption key used to decrypt AES encrypted values in Card objects.
|
|
658
|
+
type: string
|
|
659
|
+
updates:
|
|
660
|
+
type: array
|
|
661
|
+
items:
|
|
662
|
+
$ref: '#/components/schemas/Card'
|
|
663
|
+
|
|
664
|
+
LockStatus:
|
|
665
|
+
type: string
|
|
666
|
+
description: |
|
|
667
|
+
A cardholder initiated status. A locked card will fail authorization. Locked cards can be unlocked.
|
|
668
|
+
|
|
669
|
+
A cardholder may choose to lock a card while temporarily misplaced.
|
|
670
|
+
enum:
|
|
671
|
+
- LOCKED
|
|
672
|
+
- UNLOCKED
|
|
673
|
+
|
|
674
|
+
Ping:
|
|
675
|
+
type: object
|
|
676
|
+
additionalProperties: false
|
|
677
|
+
required:
|
|
678
|
+
- serverTime
|
|
679
|
+
properties:
|
|
680
|
+
serverTime:
|
|
681
|
+
type: string
|
|
682
|
+
format: date-time
|
|
683
|
+
description: Current server time
|
|
684
|
+
example: '1970-01-01T00:00:00.000Z'
|
|
685
|
+
|
|
686
|
+
PinOffsetKey:
|
|
687
|
+
type: object
|
|
688
|
+
additionalProperties: false
|
|
689
|
+
required:
|
|
690
|
+
- transmissionKey
|
|
691
|
+
properties:
|
|
692
|
+
transmissionKey:
|
|
693
|
+
description: A PEM formatted public key to be used to RSA encrypt a data encryption key.
|
|
694
|
+
type: string
|
|
695
|
+
|
|
696
|
+
PinOffsetKeyId:
|
|
697
|
+
type: string
|
|
698
|
+
format: uuid
|
|
699
|
+
description: Identifier for the PinOffsetKey used to encrypt the data encryption key.
|
|
700
|
+
|
|
701
|
+
PinOffsetRequest:
|
|
702
|
+
type: object
|
|
703
|
+
additionalProperties: false
|
|
704
|
+
required:
|
|
705
|
+
- encryptedDataEncryptionKey
|
|
706
|
+
- pinOffsetKeyId
|
|
707
|
+
- encryptedUserDefinedPin
|
|
708
|
+
properties:
|
|
709
|
+
pinOffsetKeyId:
|
|
710
|
+
$ref: '#/components/schemas/PinOffsetKeyId'
|
|
711
|
+
encryptedDataEncryptionKey:
|
|
712
|
+
description: A RSA encrypted (using transmissionKey) data encryption key that encrypted the encryptedUserDefinedPin.
|
|
713
|
+
type: string
|
|
714
|
+
encryptedUserDefinedPin:
|
|
715
|
+
type: string
|
|
716
|
+
description: |
|
|
717
|
+
User Defined PIN encrypted with an AES generated data encryption key. This is the PIN to be used for new
|
|
718
|
+
offset calculation. (plaintext pin has minLength = 4, maxLength = 12)
|
|
719
|
+
|
|
720
|
+
Hash:
|
|
721
|
+
type: string
|
|
722
|
+
format: uuid
|
|
723
|
+
example: '15a85f64-5717-4562-b3fc-2c963f66afa6'
|
|
724
|
+
description: UUID derived using @checkdigit/hash
|
|
725
|
+
|
|
726
|
+
NewCard:
|
|
727
|
+
type: object
|
|
728
|
+
additionalProperties: false
|
|
729
|
+
required:
|
|
730
|
+
- bin
|
|
731
|
+
- expirationDate
|
|
732
|
+
- serviceCode
|
|
733
|
+
- sequenceNumber
|
|
734
|
+
- state
|
|
735
|
+
- active
|
|
736
|
+
- block
|
|
737
|
+
- lock
|
|
738
|
+
properties:
|
|
739
|
+
bin:
|
|
740
|
+
$ref: '#/components/schemas/Bin'
|
|
741
|
+
expirationDate:
|
|
742
|
+
$ref: '#/components/schemas/ExpirationDate'
|
|
743
|
+
serviceCode:
|
|
744
|
+
type: string
|
|
745
|
+
pattern: '^\d+$'
|
|
746
|
+
description: |
|
|
747
|
+
Used to set general guidelines for how the card can be used, e.g. domestic only or international, online authorizations only, etc.
|
|
748
|
+
minLength: 3
|
|
749
|
+
maxLength: 3
|
|
750
|
+
sequenceNumber:
|
|
751
|
+
type: integer
|
|
752
|
+
description: Used to differentiate issuing the same card and expiration date on multiple plastics.
|
|
753
|
+
minimum: 0
|
|
754
|
+
maximum: 10
|
|
755
|
+
state:
|
|
756
|
+
$ref: '#/components/schemas/StateStatus'
|
|
757
|
+
active:
|
|
758
|
+
$ref: '#/components/schemas/ActiveStatus'
|
|
759
|
+
block:
|
|
760
|
+
$ref: '#/components/schemas/BlockStatus'
|
|
761
|
+
lock:
|
|
762
|
+
$ref: '#/components/schemas/LockStatus'
|
|
763
|
+
|
|
764
|
+
NewCardRequest:
|
|
765
|
+
type: object
|
|
766
|
+
required:
|
|
767
|
+
- dataEncryptionKeyId
|
|
768
|
+
- cardNumberLength
|
|
769
|
+
- newCard
|
|
770
|
+
additionalProperties: false
|
|
771
|
+
properties:
|
|
772
|
+
dataEncryptionKeyId:
|
|
773
|
+
$ref: '#/components/schemas/DataEncryptionKeyId'
|
|
774
|
+
cardNumberLength:
|
|
775
|
+
type: integer
|
|
776
|
+
description: Desired number of digits in the card number.
|
|
777
|
+
minimum: 15
|
|
778
|
+
maximum: 19
|
|
779
|
+
newCard:
|
|
780
|
+
$ref: '#/components/schemas/NewCard'
|
|
781
|
+
|
|
782
|
+
NewCardRequestWithCardNumber:
|
|
783
|
+
type: object
|
|
784
|
+
required:
|
|
785
|
+
- encryptedCardNumber
|
|
786
|
+
- encryptedDataEncryptionKey
|
|
787
|
+
- dataEncryptionKeyId
|
|
788
|
+
- newCard
|
|
789
|
+
properties:
|
|
790
|
+
encryptedCardNumber:
|
|
791
|
+
type: string
|
|
792
|
+
encryptedDataEncryptionKey:
|
|
793
|
+
description: RSA encrypted data encryption key used to AES encrypt encryptedCardNumber
|
|
794
|
+
type: string
|
|
795
|
+
dataEncryptionKeyId:
|
|
796
|
+
$ref: '#/components/schemas/DataEncryptionKeyId'
|
|
797
|
+
newCard:
|
|
798
|
+
$ref: '#/components/schemas/NewCard'
|
|
799
|
+
additionalProperties: false
|
|
800
|
+
|
|
801
|
+
PublicKey:
|
|
802
|
+
description: Public key in PEM format
|
|
803
|
+
type: string
|
|
804
|
+
example: |
|
|
805
|
+
-----BEGIN PUBLIC KEY-----
|
|
806
|
+
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwm2sxmRdTF7ZIBA6+ngO
|
|
807
|
+
8jOTCHmID0PpQB1q85+hrcLSfB1rWY9bzNNLabBo/ajDnA4Pcadq/x6gpg70qZcR
|
|
808
|
+
9Wxm6TttKzBPZsxasGXgSTDqEi2KcYZgq1mL4qyxUvyIms7/llGy+W9b5huZaVcO
|
|
809
|
+
xdT1tw/zctbOhb6S2t5vH+zkta/2ncUXjG7i8XdLsJ1qe4K1kYbA4KVkOMmAtw7O
|
|
810
|
+
4STk0TZDD0YARdmrciorJjbIVt0Xj1CrYQ5QbDGrlfeXgrcZwX5f9wT2MnKlY5oZ
|
|
811
|
+
5Wtb57oGtLkVf8g6vN/2jGtAmOmHK2hHwNd/+zUet5G/S5uwEli4RgMPP4pUoKgd
|
|
812
|
+
GQIDAQAB
|
|
813
|
+
-----END PUBLIC KEY-----
|
|
814
|
+
|
|
815
|
+
PublicKeyResponse:
|
|
816
|
+
description: |
|
|
817
|
+
This object contains the rsa generated public key for the Payment Card Service. This public key must be used
|
|
818
|
+
when transmitting encrypted data to Payment Card Service APIs.
|
|
819
|
+
type: object
|
|
820
|
+
required:
|
|
821
|
+
- publicKey
|
|
822
|
+
properties:
|
|
823
|
+
publicKey:
|
|
824
|
+
$ref: '#/components/schemas/PublicKey'
|
|
825
|
+
|
|
826
|
+
StateStatus:
|
|
827
|
+
description: The current state of the card
|
|
828
|
+
type: string
|
|
829
|
+
enum:
|
|
830
|
+
- CURRENT
|
|
831
|
+
- REISSUED
|
|
832
|
+
- RETIRED
|
|
833
|
+
- FORCED
|
|
834
|
+
|
|
835
|
+
StorageKeyId:
|
|
836
|
+
type: string
|
|
837
|
+
description: |
|
|
838
|
+
DEK's non-derived identifier to be used by Check Digit services only.
|
|
839
|
+
|
|
840
|
+
parameters:
|
|
841
|
+
activeStatus:
|
|
842
|
+
name: activeStatus
|
|
843
|
+
in: path
|
|
844
|
+
description: Updated active status of the card
|
|
845
|
+
required: true
|
|
846
|
+
schema:
|
|
847
|
+
$ref: '#/components/schemas/ActiveStatus'
|
|
848
|
+
|
|
849
|
+
applicationTransactionCounter:
|
|
850
|
+
name: applicationTransactionCounter
|
|
851
|
+
in: path
|
|
852
|
+
description: Updated application transaction counter
|
|
853
|
+
required: true
|
|
854
|
+
schema:
|
|
855
|
+
type: integer
|
|
856
|
+
|
|
857
|
+
at:
|
|
858
|
+
name: at
|
|
859
|
+
in: query
|
|
860
|
+
description: Return data as it was at this time. Must be at least 1 second in the past.
|
|
861
|
+
example: '1970-01-01T00:00:00.000Z'
|
|
862
|
+
required: true
|
|
863
|
+
schema:
|
|
864
|
+
type: string
|
|
865
|
+
format: date-time
|
|
866
|
+
|
|
867
|
+
blockStatus:
|
|
868
|
+
name: blockStatus
|
|
869
|
+
in: path
|
|
870
|
+
description: Updated block status of the card
|
|
871
|
+
required: true
|
|
872
|
+
schema:
|
|
873
|
+
$ref: '#/components/schemas/BlockStatus'
|
|
874
|
+
|
|
875
|
+
captureStatus:
|
|
876
|
+
name: captureStatus
|
|
877
|
+
in: path
|
|
878
|
+
description: Updated capture status of the card
|
|
879
|
+
required: true
|
|
880
|
+
schema:
|
|
881
|
+
type: boolean
|
|
882
|
+
|
|
883
|
+
cardId:
|
|
884
|
+
name: cardId
|
|
885
|
+
in: path
|
|
886
|
+
description: An id unique to each card in uuid format
|
|
887
|
+
required: true
|
|
888
|
+
schema:
|
|
889
|
+
$ref: '#/components/schemas/CardId'
|
|
890
|
+
|
|
891
|
+
cardNumberHash:
|
|
892
|
+
name: cardNumberHash
|
|
893
|
+
in: query
|
|
894
|
+
description: UUID derived from a card number (PAN) using @checkdigit/hash
|
|
895
|
+
required: true
|
|
896
|
+
schema:
|
|
897
|
+
$ref: '#/components/schemas/Hash'
|
|
898
|
+
|
|
899
|
+
createdOn:
|
|
900
|
+
name: Created-On
|
|
901
|
+
in: header
|
|
902
|
+
description: |
|
|
903
|
+
Created-On header, establishes createdOn, updatedOn, and lastModified values for the created data.
|
|
904
|
+
If both Created-On and Last-Modified values are provided, the value provided in Created-On
|
|
905
|
+
will be used for creating the data and the value provided in Last-Modified will be ignored.
|
|
906
|
+
example: '1970-01-01T00:00:00.000Z'
|
|
907
|
+
required: false
|
|
908
|
+
schema:
|
|
909
|
+
type: string
|
|
910
|
+
format: date-time
|
|
911
|
+
|
|
912
|
+
fromDate:
|
|
913
|
+
name: fromDate
|
|
914
|
+
in: query
|
|
915
|
+
description: Return data created on or after this date
|
|
916
|
+
example: '1970-01-01T00:00:00.000Z'
|
|
917
|
+
schema:
|
|
918
|
+
type: string
|
|
919
|
+
format: date-time
|
|
920
|
+
|
|
921
|
+
ifMatch:
|
|
922
|
+
name: If-Match
|
|
923
|
+
in: header
|
|
924
|
+
description: If-Match header
|
|
925
|
+
required: true
|
|
926
|
+
schema:
|
|
927
|
+
type: string
|
|
928
|
+
|
|
929
|
+
dataEncryptionKeyId:
|
|
930
|
+
in: path
|
|
931
|
+
name: dataEncryptionKeyId
|
|
932
|
+
description: Parameter used to represent a DEK
|
|
933
|
+
required: true
|
|
934
|
+
schema:
|
|
935
|
+
type: string
|
|
936
|
+
format: uuid
|
|
937
|
+
|
|
938
|
+
lastModified:
|
|
939
|
+
name: Last-Modified
|
|
940
|
+
in: header
|
|
941
|
+
description: last-modified header, establishes createdOn and last-modified value for created data
|
|
942
|
+
example: '1970-01-01T00:00:00.000Z'
|
|
943
|
+
required: false
|
|
944
|
+
schema:
|
|
945
|
+
type: string
|
|
946
|
+
format: date-time
|
|
947
|
+
|
|
948
|
+
lockStatus:
|
|
949
|
+
name: lockStatus
|
|
950
|
+
in: path
|
|
951
|
+
description: Updated lock status of the card
|
|
952
|
+
required: true
|
|
953
|
+
schema:
|
|
954
|
+
$ref: '#/components/schemas/LockStatus'
|
|
955
|
+
|
|
956
|
+
pinOffsetKeyId:
|
|
957
|
+
name: pinOffsetKeyId
|
|
958
|
+
in: path
|
|
959
|
+
description: A unique id associated with a one time use encryption key
|
|
960
|
+
required: true
|
|
961
|
+
schema:
|
|
962
|
+
$ref: '#/components/schemas/PinOffsetKeyId'
|
|
963
|
+
|
|
964
|
+
publicKeyHashPath:
|
|
965
|
+
name: publicKeyHashPath
|
|
966
|
+
in: path
|
|
967
|
+
description: UUID derived from a PEM formatted Public Key using @checkdigit/hash
|
|
968
|
+
required: true
|
|
969
|
+
schema:
|
|
970
|
+
$ref: '#/components/schemas/Hash'
|
|
971
|
+
|
|
972
|
+
publicKeyHashQuery:
|
|
973
|
+
name: publicKeyHashQuery
|
|
974
|
+
in: query
|
|
975
|
+
description: UUID derived from a PEM formatted Public Key using @checkdigit/hash
|
|
976
|
+
required: false
|
|
977
|
+
schema:
|
|
978
|
+
$ref: '#/components/schemas/Hash'
|
|
979
|
+
|
|
980
|
+
stateStatus:
|
|
981
|
+
name: stateStatus
|
|
982
|
+
in: path
|
|
983
|
+
description: Updated state status of the card
|
|
984
|
+
required: true
|
|
985
|
+
schema:
|
|
986
|
+
$ref: '#/components/schemas/StateStatus'
|
|
987
|
+
|
|
988
|
+
toDate:
|
|
989
|
+
name: toDate
|
|
990
|
+
in: query
|
|
991
|
+
description: Return data created before this date. Must be at least 1 second in the past.
|
|
992
|
+
example: '1970-01-01T00:00:00.000Z'
|
|
993
|
+
required: true
|
|
994
|
+
schema:
|
|
995
|
+
type: string
|
|
996
|
+
format: date-time
|
|
997
|
+
|
|
998
|
+
requestBodies:
|
|
999
|
+
CardNumberRequest:
|
|
1000
|
+
required: true
|
|
1001
|
+
content:
|
|
1002
|
+
application/json:
|
|
1003
|
+
schema:
|
|
1004
|
+
$ref: '#/components/schemas/CardNumberRequest'
|
|
1005
|
+
|
|
1006
|
+
DataEncryptionKeyRequest:
|
|
1007
|
+
required: true
|
|
1008
|
+
content:
|
|
1009
|
+
application/json:
|
|
1010
|
+
schema:
|
|
1011
|
+
$ref: '#/components/schemas/DataEncryptionKeyRequest'
|
|
1012
|
+
|
|
1013
|
+
NewCardRequest:
|
|
1014
|
+
required: true
|
|
1015
|
+
content:
|
|
1016
|
+
application/json:
|
|
1017
|
+
schema:
|
|
1018
|
+
$ref: '#/components/schemas/NewCardRequest'
|
|
1019
|
+
|
|
1020
|
+
NewCardRequestWithCardNumber:
|
|
1021
|
+
required: true
|
|
1022
|
+
content:
|
|
1023
|
+
application/json:
|
|
1024
|
+
schema:
|
|
1025
|
+
$ref: '#/components/schemas/NewCardRequestWithCardNumber'
|
|
1026
|
+
|
|
1027
|
+
PinOffsetRequest:
|
|
1028
|
+
description: Encrypted user defined PIN
|
|
1029
|
+
required: true
|
|
1030
|
+
content:
|
|
1031
|
+
application/json:
|
|
1032
|
+
schema:
|
|
1033
|
+
$ref: '#/components/schemas/PinOffsetRequest'
|
|
1034
|
+
|
|
1035
|
+
responses:
|
|
1036
|
+
CardResponse:
|
|
1037
|
+
description: Card retrieved
|
|
1038
|
+
content:
|
|
1039
|
+
application/json:
|
|
1040
|
+
schema:
|
|
1041
|
+
$ref: '#/components/schemas/CardResponse'
|
|
1042
|
+
headers:
|
|
1043
|
+
Last-Modified:
|
|
1044
|
+
$ref: '#/components/headers/Last-Modified'
|
|
1045
|
+
Created-On:
|
|
1046
|
+
$ref: '#/components/headers/Created-On'
|
|
1047
|
+
Updated-On:
|
|
1048
|
+
$ref: '#/components/headers/Updated-On'
|
|
1049
|
+
ETag:
|
|
1050
|
+
$ref: '#/components/headers/ETag'
|
|
1051
|
+
|
|
1052
|
+
Query:
|
|
1053
|
+
description: Response from querying /card by cardNumberHash
|
|
1054
|
+
content:
|
|
1055
|
+
application/json:
|
|
1056
|
+
schema:
|
|
1057
|
+
$ref: '#/components/schemas/Query'
|
|
1058
|
+
|
|
1059
|
+
Conflict:
|
|
1060
|
+
description: Record exists but with different data
|
|
1061
|
+
|
|
1062
|
+
EncryptedCardNumber:
|
|
1063
|
+
description: Encrypted card information retrieved
|
|
1064
|
+
content:
|
|
1065
|
+
application/json:
|
|
1066
|
+
schema:
|
|
1067
|
+
$ref: '#/components/schemas/EncryptedCardNumber'
|
|
1068
|
+
|
|
1069
|
+
DataEncryptionKeyResponse:
|
|
1070
|
+
description: Set of public keys request
|
|
1071
|
+
content:
|
|
1072
|
+
application/json:
|
|
1073
|
+
schema:
|
|
1074
|
+
$ref: '#/components/schemas/DataEncryptionKeyResponse'
|
|
1075
|
+
headers:
|
|
1076
|
+
Created-On:
|
|
1077
|
+
$ref: '#/components/headers/Created-On'
|
|
1078
|
+
Updated-On:
|
|
1079
|
+
$ref: '#/components/headers/Updated-On'
|
|
1080
|
+
|
|
1081
|
+
History:
|
|
1082
|
+
description: Response from
|
|
1083
|
+
content:
|
|
1084
|
+
application/json:
|
|
1085
|
+
schema:
|
|
1086
|
+
$ref: '#/components/schemas/History'
|
|
1087
|
+
|
|
1088
|
+
Ping:
|
|
1089
|
+
description: Successful Ping response
|
|
1090
|
+
content:
|
|
1091
|
+
application/json:
|
|
1092
|
+
schema:
|
|
1093
|
+
$ref: '#/components/schemas/Ping'
|
|
1094
|
+
|
|
1095
|
+
PinOffsetKey:
|
|
1096
|
+
description: Response from creating or requesting a key to encrypt a user defined pin
|
|
1097
|
+
content:
|
|
1098
|
+
application/json:
|
|
1099
|
+
schema:
|
|
1100
|
+
$ref: '#/components/schemas/PinOffsetKey'
|
|
1101
|
+
|
|
1102
|
+
PublicKeyResponse:
|
|
1103
|
+
description: Public Key response.
|
|
1104
|
+
content:
|
|
1105
|
+
application/json:
|
|
1106
|
+
schema:
|
|
1107
|
+
$ref: '#/components/schemas/PublicKeyResponse'
|
|
1108
|
+
headers:
|
|
1109
|
+
Created-On:
|
|
1110
|
+
$ref: '#/components/headers/Created-On'
|
|
1111
|
+
Updated-On:
|
|
1112
|
+
$ref: '#/components/headers/Updated-On'
|
|
1113
|
+
|
|
1114
|
+
PreconditionFailed:
|
|
1115
|
+
description: Precondition failed
|
|
1116
|
+
|
|
1117
|
+
NotFound:
|
|
1118
|
+
description: Not found
|
|
1119
|
+
|
|
1120
|
+
NoContent:
|
|
1121
|
+
description: Success/No Content
|
|
1122
|
+
headers:
|
|
1123
|
+
Last-Modified:
|
|
1124
|
+
$ref: '#/components/headers/Last-Modified'
|
|
1125
|
+
Created-On:
|
|
1126
|
+
$ref: '#/components/headers/Created-On'
|
|
1127
|
+
Updated-On:
|
|
1128
|
+
$ref: '#/components/headers/Updated-On'
|
|
1129
|
+
ETag:
|
|
1130
|
+
$ref: '#/components/headers/ETag'
|
|
1131
|
+
|
|
1132
|
+
ServerError:
|
|
1133
|
+
description: Server Error response
|
|
1134
|
+
content:
|
|
1135
|
+
application/json:
|
|
1136
|
+
schema:
|
|
1137
|
+
$ref: '#/components/schemas/Error'
|
|
1138
|
+
|
|
1139
|
+
headers:
|
|
1140
|
+
ETag:
|
|
1141
|
+
description: Version information for record
|
|
1142
|
+
schema:
|
|
1143
|
+
type: string
|
|
1144
|
+
|
|
1145
|
+
Last-Modified:
|
|
1146
|
+
description: Date and time at which the record was last modified
|
|
1147
|
+
schema:
|
|
1148
|
+
type: string
|
|
1149
|
+
format: date-time
|
|
1150
|
+
|
|
1151
|
+
Created-On:
|
|
1152
|
+
description: CreatedOn timestamp for the newly created record
|
|
1153
|
+
schema:
|
|
1154
|
+
type: string
|
|
1155
|
+
format: date-time
|
|
1156
|
+
|
|
1157
|
+
Updated-On:
|
|
1158
|
+
description: UpdatedOn timestamp for the existing record
|
|
1159
|
+
schema:
|
|
1160
|
+
type: string
|
|
1161
|
+
format: date-time
|