@mojaloop/api-snippets 12.8.0 → 13.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/docs/fspiop-rest-v1.0-openapi3-snippets.yaml +2 -0
  3. package/docs/fspiop-rest-v1.1-openapi3-snippets.yaml +2 -0
  4. package/docs/thirdparty-openapi3-snippets.yaml +832 -1082
  5. package/fspiop/v1_0/openapi3/components/schemas/Currency.yaml +2 -0
  6. package/fspiop/v1_1/openapi3/components/schemas/Currency.yaml +2 -0
  7. package/lib/fspiop/v1_0/openapi.d.ts +1 -1
  8. package/lib/fspiop/v1_1/openapi.d.ts +1 -1
  9. package/lib/thirdparty/index.d.ts +9 -5
  10. package/lib/thirdparty/openapi.d.ts +2325 -2925
  11. package/package.json +4 -2
  12. package/tests/dto/thirdparty.test.ts +37 -25
  13. package/thirdparty/openapi3/components/schemas/Account.yaml +2 -2
  14. package/thirdparty/openapi3/components/schemas/AccountAddress.yaml +7 -0
  15. package/thirdparty/openapi3/components/schemas/AccountsIDPutResponse.yaml +2 -1
  16. package/thirdparty/openapi3/components/schemas/ConsentRequestsIDPatchRequest.yaml +1 -1
  17. package/thirdparty/openapi3/components/schemas/ConsentRequestsIDPutResponseOTP.yaml +8 -8
  18. package/thirdparty/openapi3/components/schemas/ConsentRequestsIDPutResponseWeb.yaml +11 -11
  19. package/thirdparty/openapi3/components/schemas/ConsentRequestsPostRequest.yaml +12 -5
  20. package/thirdparty/openapi3/components/schemas/ConsentStatus.yaml +9 -0
  21. package/thirdparty/openapi3/components/schemas/ConsentStatusIssued.yaml +7 -0
  22. package/thirdparty/openapi3/components/schemas/ConsentStatusRevoked.yaml +7 -0
  23. package/thirdparty/openapi3/components/schemas/ConsentsIDPatchResponseRevoked.yaml +1 -1
  24. package/thirdparty/openapi3/components/schemas/ConsentsIDPatchResponseVerified.yaml +1 -1
  25. package/thirdparty/openapi3/components/schemas/ConsentsIDPutResponseSigned.yaml +2 -0
  26. package/thirdparty/openapi3/components/schemas/ConsentsIDPutResponseVerified.yaml +2 -0
  27. package/thirdparty/openapi3/components/schemas/ConsentsPostRequestAUTH.yaml +6 -1
  28. package/thirdparty/openapi3/components/schemas/ConsentsPostRequestPISP.yaml +10 -6
  29. package/thirdparty/openapi3/components/schemas/CredentialStatusPending.yaml +7 -0
  30. package/thirdparty/openapi3/components/schemas/CredentialStatusVerified.yaml +7 -0
  31. package/thirdparty/openapi3/components/schemas/CredentialType.yaml +2 -0
  32. package/thirdparty/openapi3/components/schemas/FIDOPublicKeyCredentialAttestation.yaml +6 -6
  33. package/thirdparty/openapi3/components/schemas/GenericCredential.yaml +13 -0
  34. package/thirdparty/openapi3/components/schemas/Scope.yaml +6 -9
  35. package/thirdparty/openapi3/components/schemas/ScopeAction.yaml +12 -0
  36. package/thirdparty/openapi3/components/schemas/ServicesServiceTypePutResponse.yaml +2 -0
  37. package/thirdparty/openapi3/components/schemas/SignedCredential.yaml +5 -6
  38. package/thirdparty/openapi3/components/schemas/ThirdpartyRequestsAuthorizationsIDPutResponseFIDO.yaml +2 -2
  39. package/thirdparty/openapi3/components/schemas/ThirdpartyRequestsAuthorizationsIDPutResponseGeneric.yaml +2 -2
  40. package/thirdparty/openapi3/components/schemas/ThirdpartyRequestsTransactionsIDPutResponse.yaml +0 -3
  41. package/thirdparty/openapi3/components/schemas/ThirdpartyRequestsTransactionsPostRequest.yaml +8 -3
  42. package/thirdparty/openapi3/components/schemas/ThirdpartyRequestsVerificationsPostRequestFIDO.yaml +2 -2
  43. package/thirdparty/openapi3/components/schemas/ThirdpartyRequestsVerificationsPostRequestGeneric.yaml +2 -2
  44. package/thirdparty/openapi3/components/schemas/Uri.yaml +8 -0
  45. package/thirdparty/openapi3/openapi.yaml +0 -14
  46. package/thirdparty/openapi3/paths/consentRequests.yaml +2 -1
  47. package/thirdparty/openapi3/paths/consentRequests_ID.yaml +41 -5
  48. package/thirdparty/openapi3/paths/consents.yaml +2 -2
  49. package/thirdparty/openapi3/paths/consents_ID.yaml +8 -5
  50. package/thirdparty/openapi3/paths/thirdpartyRequests_authorizations.yaml +3 -30
  51. package/thirdparty/openapi3/paths/thirdpartyRequests_authorizations_ID.yaml +36 -14
  52. package/thirdparty/openapi3/paths/thirdpartyRequests_transactions.yaml +6 -27
  53. package/thirdparty/openapi3/paths/thirdpartyRequests_transactions_ID.yaml +0 -2
  54. package/thirdparty/openapi3/paths/thirdpartyRequests_verifications.yaml +0 -13
  55. package/thirdparty/openapi3/paths/thirdpartyRequests_verifications_ID.yaml +32 -0
  56. package/thirdparty/openapi3/thirdparty-dfsp-api.template.yaml +53 -0
  57. package/thirdparty/openapi3/thirdparty-dfsp-api.yaml +2637 -0
  58. package/thirdparty/openapi3/thirdparty-pisp-api.template.yaml +57 -0
  59. package/thirdparty/openapi3/thirdparty-pisp-api.yaml +2842 -0
  60. package/thirdparty/openapi3/components/schemas/AccountId.yaml +0 -9
  61. package/thirdparty/openapi3/components/schemas/AuthenticationInfo.yaml +0 -11
  62. package/thirdparty/openapi3/components/schemas/ConsentScopeType.yaml +0 -9
  63. package/thirdparty/openapi3/components/schemas/ConsentStatusTypeRevoked.yaml +0 -7
  64. package/thirdparty/openapi3/components/schemas/ConsentStatusTypeVerified.yaml +0 -7
  65. package/thirdparty/openapi3/paths/thirdpartyRequests_transactions_tsa.yaml +0 -73
@@ -0,0 +1,2842 @@
1
+ openapi: 3.0.1
2
+ info:
3
+ title: Mojaloop Third Party API (PISP)
4
+ version: '1.0'
5
+ description: |
6
+ A Mojaloop API for Payment Initiation Service Providers (PISPs) to perform Third Party functions on DFSPs' User's accounts.
7
+ DFSPs who want to enable Payment Initiation Service Providers (PISPs) should implement the accompanying API - Mojaloop Third Party API (DFSP) instead.
8
+ license:
9
+ name: Open API for FSP Interoperability (FSPIOP) (Implementation Friendly Version)
10
+ url: 'https://github.com/mojaloop/mojaloop-specification/blob/master/LICENSE.md'
11
+ servers:
12
+ - url: /
13
+ paths:
14
+ '/accounts/{ID}':
15
+ parameters:
16
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/1'
17
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/2'
18
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/3'
19
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/4'
20
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/5'
21
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/6'
22
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/7'
23
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/8'
24
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/9'
25
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/10'
26
+ get:
27
+ operationId: GetAccountsByUserId
28
+ summary: GetAccountsByUserId
29
+ description: |
30
+ The HTTP request `GET /accounts/{ID}` is used to retrieve the list of potential accounts available for linking.
31
+ tags:
32
+ - accounts
33
+ - sampled
34
+ parameters:
35
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/parameters/0'
36
+ responses:
37
+ '202':
38
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/202'
39
+ '400':
40
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400'
41
+ '401':
42
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/401'
43
+ '403':
44
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/403'
45
+ '404':
46
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/404'
47
+ '405':
48
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/405'
49
+ '406':
50
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/406'
51
+ '501':
52
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/501'
53
+ '503':
54
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/503'
55
+ put:
56
+ description: |
57
+ The HTTP request `PUT /accounts/{ID}` is used to return the list of potential accounts available for linking
58
+ operationId: UpdateAccountsByUserId
59
+ summary: UpdateAccountsByUserId
60
+ tags:
61
+ - accounts
62
+ - sampled
63
+ parameters:
64
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/parameters/0'
65
+ requestBody:
66
+ required: true
67
+ content:
68
+ application/json:
69
+ schema:
70
+ title: AccountsIDPutResponse
71
+ type: object
72
+ description: 'The object sent in a `PUT /accounts/{ID}` request.'
73
+ properties:
74
+ accountList:
75
+ description: Information about the accounts that the DFSP associates with the identifier sent by the PISP
76
+ type: array
77
+ items:
78
+ title: Account
79
+ type: object
80
+ description: Data model for the complex type Account.
81
+ properties:
82
+ accountNickname:
83
+ title: Name
84
+ type: string
85
+ pattern: '^(?!\s*$)[\w .,''-]{1,128}$'
86
+ description: |-
87
+ The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.
88
+
89
+ Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).
90
+
91
+ **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters.
92
+ address:
93
+ $ref: '#/paths/~1consentRequests/post/requestBody/content/application~1json/schema/properties/scopes/items/properties/address'
94
+ currency:
95
+ title: Currency
96
+ description: 'The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.'
97
+ type: string
98
+ minLength: 3
99
+ maxLength: 3
100
+ enum:
101
+ - AED
102
+ - AFN
103
+ - ALL
104
+ - AMD
105
+ - ANG
106
+ - AOA
107
+ - ARS
108
+ - AUD
109
+ - AWG
110
+ - AZN
111
+ - BAM
112
+ - BBD
113
+ - BDT
114
+ - BGN
115
+ - BHD
116
+ - BIF
117
+ - BMD
118
+ - BND
119
+ - BOB
120
+ - BRL
121
+ - BSD
122
+ - BTN
123
+ - BWP
124
+ - BYN
125
+ - BZD
126
+ - CAD
127
+ - CDF
128
+ - CHF
129
+ - CLP
130
+ - CNY
131
+ - COP
132
+ - CRC
133
+ - CUC
134
+ - CUP
135
+ - CVE
136
+ - CZK
137
+ - DJF
138
+ - DKK
139
+ - DOP
140
+ - DZD
141
+ - EGP
142
+ - ERN
143
+ - ETB
144
+ - EUR
145
+ - FJD
146
+ - FKP
147
+ - GBP
148
+ - GEL
149
+ - GGP
150
+ - GHS
151
+ - GIP
152
+ - GMD
153
+ - GNF
154
+ - GTQ
155
+ - GYD
156
+ - HKD
157
+ - HNL
158
+ - HRK
159
+ - HTG
160
+ - HUF
161
+ - IDR
162
+ - ILS
163
+ - IMP
164
+ - INR
165
+ - IQD
166
+ - IRR
167
+ - ISK
168
+ - JEP
169
+ - JMD
170
+ - JOD
171
+ - JPY
172
+ - KES
173
+ - KGS
174
+ - KHR
175
+ - KMF
176
+ - KPW
177
+ - KRW
178
+ - KWD
179
+ - KYD
180
+ - KZT
181
+ - LAK
182
+ - LBP
183
+ - LKR
184
+ - LRD
185
+ - LSL
186
+ - LYD
187
+ - MAD
188
+ - MDL
189
+ - MGA
190
+ - MKD
191
+ - MMK
192
+ - MNT
193
+ - MOP
194
+ - MRO
195
+ - MUR
196
+ - MVR
197
+ - MWK
198
+ - MXN
199
+ - MYR
200
+ - MZN
201
+ - NAD
202
+ - NGN
203
+ - NIO
204
+ - NOK
205
+ - NPR
206
+ - NZD
207
+ - OMR
208
+ - PAB
209
+ - PEN
210
+ - PGK
211
+ - PHP
212
+ - PKR
213
+ - PLN
214
+ - PYG
215
+ - QAR
216
+ - RON
217
+ - RSD
218
+ - RUB
219
+ - RWF
220
+ - SAR
221
+ - SBD
222
+ - SCR
223
+ - SDG
224
+ - SEK
225
+ - SGD
226
+ - SHP
227
+ - SLL
228
+ - SOS
229
+ - SPL
230
+ - SRD
231
+ - STD
232
+ - SVC
233
+ - SYP
234
+ - SZL
235
+ - THB
236
+ - TJS
237
+ - TMT
238
+ - TND
239
+ - TOP
240
+ - TRY
241
+ - TTD
242
+ - TVD
243
+ - TWD
244
+ - TZS
245
+ - UAH
246
+ - UGX
247
+ - USD
248
+ - UYU
249
+ - UZS
250
+ - VEF
251
+ - VND
252
+ - VUV
253
+ - WST
254
+ - XAF
255
+ - XCD
256
+ - XDR
257
+ - XOF
258
+ - XPF
259
+ - YER
260
+ - ZAR
261
+ - ZMW
262
+ - ZWD
263
+ required:
264
+ - accountNickname
265
+ - id
266
+ - currency
267
+ required:
268
+ - accounts
269
+ example:
270
+ - accountNickname: dfspa.user.nickname1
271
+ id: dfspa.username.1234
272
+ currency: ZAR
273
+ - accountNickname: dfspa.user.nickname2
274
+ id: dfspa.username.5678
275
+ currency: USD
276
+ responses:
277
+ '200':
278
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/responses/200'
279
+ '400':
280
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400'
281
+ '401':
282
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/401'
283
+ '403':
284
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/403'
285
+ '404':
286
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/404'
287
+ '405':
288
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/405'
289
+ '406':
290
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/406'
291
+ '501':
292
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/501'
293
+ '503':
294
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/503'
295
+ '/accounts/{ID}/error':
296
+ parameters:
297
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/1'
298
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/2'
299
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/3'
300
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/4'
301
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/5'
302
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/6'
303
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/7'
304
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/8'
305
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/9'
306
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/10'
307
+ put:
308
+ description: |
309
+ The HTTP request `PUT /accounts/{ID}/error` is used to return error information
310
+ operationId: UpdateAccountsByUserIdError
311
+ summary: UpdateAccountsByUserIdError
312
+ tags:
313
+ - accounts
314
+ - sampled
315
+ parameters:
316
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/parameters/0'
317
+ requestBody:
318
+ description: Details of the error returned.
319
+ required: true
320
+ content:
321
+ application/json:
322
+ schema:
323
+ title: ErrorInformationObject
324
+ type: object
325
+ description: Data model for the complex type object that contains ErrorInformation.
326
+ properties:
327
+ errorInformation:
328
+ title: ErrorInformation
329
+ type: object
330
+ description: Data model for the complex type ErrorInformation.
331
+ properties:
332
+ errorCode:
333
+ title: ErrorCode
334
+ type: string
335
+ pattern: '^[1-9]\d{3}$'
336
+ description: 'The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.'
337
+ example: '5100'
338
+ errorDescription:
339
+ title: ErrorDescription
340
+ type: string
341
+ minLength: 1
342
+ maxLength: 128
343
+ description: Error description string.
344
+ extensionList:
345
+ $ref: '#/paths/~1thirdpartyRequests~1authorizations/post/requestBody/content/application~1json/schema/properties/extensionList'
346
+ required:
347
+ - errorCode
348
+ - errorDescription
349
+ required:
350
+ - errorInformation
351
+ responses:
352
+ '200':
353
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/responses/200'
354
+ '400':
355
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400'
356
+ '401':
357
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/401'
358
+ '403':
359
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/403'
360
+ '404':
361
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/404'
362
+ '405':
363
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/405'
364
+ '406':
365
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/406'
366
+ '501':
367
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/501'
368
+ '503':
369
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/503'
370
+ /consentRequests:
371
+ parameters:
372
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/2'
373
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/3'
374
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/4'
375
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/5'
376
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/6'
377
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/7'
378
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/8'
379
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/9'
380
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/10'
381
+ post:
382
+ tags:
383
+ - consentRequests
384
+ - sampled
385
+ operationId: CreateConsentRequest
386
+ summary: CreateConsentRequest
387
+ description: |
388
+ The HTTP request **POST /consentRequests** is used to request a DFSP to grant access to one or more
389
+ accounts owned by a customer of the DFSP for the PISP who sends the request.
390
+ parameters:
391
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/parameters/0'
392
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/parameters/0'
393
+ requestBody:
394
+ description: The consentRequest to create
395
+ required: true
396
+ content:
397
+ application/json:
398
+ schema:
399
+ title: ConsentRequestsPostRequest
400
+ type: object
401
+ description: The object sent in a `POST /consentRequests` request.
402
+ properties:
403
+ consentRequestId:
404
+ title: CorrelationId
405
+ type: string
406
+ pattern: '^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$'
407
+ description: 'Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).'
408
+ example: b51ec534-ee48-4575-b6a9-ead2955b8069
409
+ userId:
410
+ type: string
411
+ description: 'The identifier used in the **GET /accounts/**_{ID}_. Used by the DFSP to correlate an account lookup to a `consentRequest`'
412
+ minLength: 1
413
+ maxLength: 128
414
+ scopes:
415
+ type: array
416
+ minLength: 1
417
+ maxLength: 256
418
+ items:
419
+ title: Scope
420
+ type: object
421
+ description: Scope + Account Identifier mapping for a Consent.
422
+ properties:
423
+ address:
424
+ title: AccountAddress
425
+ type: string
426
+ description: |
427
+ An address which can be used to identify the account.
428
+ pattern: '^([0-9A-Za-z_~\-\.]+[0-9A-Za-z_~\-])$'
429
+ minLength: 1
430
+ maxLength: 1023
431
+ actions:
432
+ type: array
433
+ minItems: 1
434
+ maxItems: 32
435
+ items:
436
+ title: ScopeAction
437
+ type: string
438
+ enum:
439
+ - ACCOUNTS_GET_BALANCE
440
+ - ACCOUNTS_TRANSFER
441
+ - ACCOUNTS_STATEMENT
442
+ description: |
443
+ The permissions allowed on a given account by a DFSP as defined in
444
+ a consent object
445
+ - ACCOUNTS_GET_BALANCE: PISP can request a balance for the linked account
446
+ - ACCOUNTS_TRANSFER: PISP can request a transfer of funds from the linked account in the DFSP
447
+ - ACCOUNTS_STATEMENT: PISP can request a statement of individual transactions on a user’s account
448
+ required:
449
+ - address
450
+ - actions
451
+ authChannels:
452
+ type: array
453
+ minLength: 1
454
+ maxLength: 256
455
+ items:
456
+ title: ConsentRequestChannelType
457
+ type: string
458
+ enum:
459
+ - WEB
460
+ - OTP
461
+ description: |
462
+ The auth channel being used for the consentRequest.
463
+ - "WEB" - The Web auth channel.
464
+ - "OTP" - The OTP auth channel.
465
+ callbackUri:
466
+ title: Uri
467
+ type: string
468
+ pattern: '^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?'
469
+ minLength: 1
470
+ maxLength: 512
471
+ description: |
472
+ The API data type Uri is a JSON string in a canonical format that is restricted by a \ regular expression for interoperability reasons.
473
+ required:
474
+ - consentRequestId
475
+ - userId
476
+ - scopes
477
+ - authChannels
478
+ - callbackUri
479
+ example:
480
+ id: '456'
481
+ initiatorId: pispA
482
+ authChannels:
483
+ - WEB
484
+ - OTP
485
+ scopes:
486
+ - accountId: dfspa.username.1234
487
+ actions:
488
+ - accounts.transfer
489
+ - accounts.getBalance
490
+ - accountId: dfspa.username.5678
491
+ actions:
492
+ - accounts.transfer
493
+ - accounts.getBalance
494
+ callbackUri: 'pisp-app://callback.com'
495
+ responses:
496
+ '202':
497
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/202'
498
+ '400':
499
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400'
500
+ '401':
501
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/401'
502
+ '403':
503
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/403'
504
+ '404':
505
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/404'
506
+ '405':
507
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/405'
508
+ '406':
509
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/406'
510
+ '501':
511
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/501'
512
+ '503':
513
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/503'
514
+ '/consentRequests/{ID}':
515
+ parameters:
516
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/1'
517
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/2'
518
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/3'
519
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/4'
520
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/5'
521
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/6'
522
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/7'
523
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/8'
524
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/9'
525
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/10'
526
+ get:
527
+ operationId: GetConsentRequestsById
528
+ summary: GetConsentRequestsById
529
+ description: |
530
+ The HTTP request `GET /consentRequests/{ID}` is used to get information about a previously
531
+ requested consent. The *{ID}* in the URI should contain the consentRequestId that was assigned to the
532
+ request by the PISP when the PISP originated the request.
533
+ tags:
534
+ - consentRequests
535
+ - sampled
536
+ parameters:
537
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/parameters/0'
538
+ responses:
539
+ '202':
540
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/202'
541
+ '400':
542
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400'
543
+ '401':
544
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/401'
545
+ '403':
546
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/403'
547
+ '404':
548
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/404'
549
+ '405':
550
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/405'
551
+ '406':
552
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/406'
553
+ '501':
554
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/501'
555
+ '503':
556
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/503'
557
+ put:
558
+ tags:
559
+ - consentRequests
560
+ - sampled
561
+ operationId: UpdateConsentRequest
562
+ summary: UpdateConsentRequest
563
+ description: |
564
+ A DFSP uses this callback to (1) inform the PISP that the consentRequest has been accepted,
565
+ and (2) communicate to the PISP which `authChannel` it should use to authenticate their user
566
+ with.
567
+
568
+ When a PISP requests a series of permissions from a DFSP on behalf of a DFSP’s customer, not all
569
+ the permissions requested may be granted by the DFSP. Conversely, the out-of-band authorization
570
+ process may result in additional privileges being granted by the account holder to the PISP. The
571
+ **PUT /consentRequests/**_{ID}_ resource returns the current state of the permissions relating to a
572
+ particular authorization request.
573
+ parameters:
574
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/parameters/0'
575
+ requestBody:
576
+ required: true
577
+ content:
578
+ application/json:
579
+ schema:
580
+ oneOf:
581
+ - title: ConsentRequestsIDPutResponseWeb
582
+ type: object
583
+ description: |
584
+ The object sent in a `PUT /consentRequests/{ID}` request.
585
+
586
+ Schema used in the request consent phase of the account linking web flow,
587
+ the result is the PISP being instructed on a specific URL where this
588
+ supposed user should be redirected. This URL should be a place where
589
+ the user can prove their identity (e.g., by logging in).
590
+ properties:
591
+ scopes:
592
+ type: array
593
+ minLength: 1
594
+ maxLength: 256
595
+ items:
596
+ $ref: '#/paths/~1consentRequests/post/requestBody/content/application~1json/schema/properties/scopes/items'
597
+ authChannels:
598
+ type: array
599
+ minLength: 1
600
+ maxLength: 1
601
+ items:
602
+ title: ConsentRequestChannelTypeWeb
603
+ type: string
604
+ enum:
605
+ - WEB
606
+ description: |
607
+ The web auth channel being used for PUT consentRequest/{ID} request.
608
+ callbackUri:
609
+ $ref: '#/paths/~1consentRequests/post/requestBody/content/application~1json/schema/properties/callbackUri'
610
+ authUri:
611
+ $ref: '#/paths/~1consentRequests/post/requestBody/content/application~1json/schema/properties/callbackUri'
612
+ required:
613
+ - scopes
614
+ - authChannels
615
+ - callbackUri
616
+ - authUri
617
+ additionalProperties: false
618
+ - title: ConsentRequestsIDPutResponseOTP
619
+ type: object
620
+ description: |
621
+ The object sent in a `PUT /consentRequests/{ID}` request.
622
+
623
+ Schema used in the request consent phase of the account linking OTP/SMS flow.
624
+ properties:
625
+ scopes:
626
+ type: array
627
+ minLength: 1
628
+ maxLength: 256
629
+ items:
630
+ $ref: '#/paths/~1consentRequests/post/requestBody/content/application~1json/schema/properties/scopes/items'
631
+ authChannels:
632
+ type: array
633
+ minLength: 1
634
+ maxLength: 1
635
+ items:
636
+ title: ConsentRequestChannelTypeOTP
637
+ type: string
638
+ enum:
639
+ - OTP
640
+ description: |
641
+ The OTP auth channel being used for PUT consentRequest/{ID} request.
642
+ callbackUri:
643
+ $ref: '#/paths/~1consentRequests/post/requestBody/content/application~1json/schema/properties/callbackUri'
644
+ required:
645
+ - scopes
646
+ - authChannels
647
+ additionalProperties: false
648
+ responses:
649
+ '202':
650
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/202'
651
+ '400':
652
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400'
653
+ '401':
654
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/401'
655
+ '403':
656
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/403'
657
+ '404':
658
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/404'
659
+ '405':
660
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/405'
661
+ '406':
662
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/406'
663
+ '501':
664
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/501'
665
+ '503':
666
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/503'
667
+ patch:
668
+ tags:
669
+ - consentRequests
670
+ - sampled
671
+ operationId: PatchConsentRequest
672
+ summary: PatchConsentRequest
673
+ description: |
674
+ After the user completes an out-of-band authorization with the DFSP, the PISP will receive a token which they can use to prove to the DFSP that the user trusts this PISP.
675
+ parameters:
676
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/parameters/0'
677
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/parameters/0'
678
+ requestBody:
679
+ required: true
680
+ content:
681
+ application/json:
682
+ schema:
683
+ title: ConsentRequestsIDPatchRequest
684
+ type: object
685
+ description: 'The object sent in a `PATCH /consentRequests/{ID}` request.'
686
+ properties:
687
+ authToken:
688
+ type: string
689
+ pattern: '^[A-Za-z0-9-_]+[=]{0,2}$'
690
+ description: 'The API data type BinaryString is a JSON String. The string is a base64url encoding of a string of raw bytes, where padding (character ‘=’) is added at the end of the data if needed to ensure that the string is a multiple of 4 characters. The length restriction indicates the allowed number of characters.'
691
+ required:
692
+ - authToken
693
+ responses:
694
+ '202':
695
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/202'
696
+ '400':
697
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400'
698
+ '401':
699
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/401'
700
+ '403':
701
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/403'
702
+ '404':
703
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/404'
704
+ '405':
705
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/405'
706
+ '406':
707
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/406'
708
+ '501':
709
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/501'
710
+ '503':
711
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/503'
712
+ '/consentRequests/{ID}/error':
713
+ parameters:
714
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/1'
715
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/2'
716
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/3'
717
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/4'
718
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/5'
719
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/6'
720
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/7'
721
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/8'
722
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/9'
723
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/10'
724
+ put:
725
+ tags:
726
+ - consentRequests
727
+ operationId: NotifyErrorConsentRequests
728
+ summary: NotifyErrorConsentRequests
729
+ description: |
730
+ DFSP responds to the PISP if something went wrong with validating an OTP or secret.
731
+ parameters:
732
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/parameters/0'
733
+ requestBody:
734
+ description: Error information returned.
735
+ required: true
736
+ content:
737
+ application/json:
738
+ schema:
739
+ $ref: '#/paths/~1accounts~1%7BID%7D~1error/put/requestBody/content/application~1json/schema'
740
+ responses:
741
+ '200':
742
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/responses/200'
743
+ '400':
744
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400'
745
+ '401':
746
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/401'
747
+ '403':
748
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/403'
749
+ '404':
750
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/404'
751
+ '405':
752
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/405'
753
+ '406':
754
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/406'
755
+ '501':
756
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/501'
757
+ '503':
758
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/503'
759
+ /consents:
760
+ parameters:
761
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/2'
762
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/3'
763
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/4'
764
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/5'
765
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/6'
766
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/7'
767
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/8'
768
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/9'
769
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/10'
770
+ post:
771
+ tags:
772
+ - consents
773
+ - sampled
774
+ operationId: PostConsents
775
+ summary: PostConsents
776
+ description: |
777
+ The **POST /consents** request is used to request the creation of a consent for interactions between a PISP and the DFSP who owns the account which a PISP’s customer wants to allow the PISP access to.
778
+ parameters:
779
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/parameters/0'
780
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/parameters/0'
781
+ requestBody:
782
+ required: true
783
+ content:
784
+ application/json:
785
+ schema:
786
+ oneOf:
787
+ - title: ConsentPostRequestAUTH
788
+ type: object
789
+ description: |
790
+ The object sent in a `POST /consents` request to AUTH-SERVICE by DFSP to store registered consent with PublicKey
791
+ and whatever needed to perform authorization validation later
792
+ properties:
793
+ consentId:
794
+ allOf:
795
+ - $ref: '#/paths/~1consentRequests/post/requestBody/content/application~1json/schema/properties/consentRequestId'
796
+ description: |
797
+ Common ID between the PISP and FSP for the Consent object
798
+ decided by the DFSP who creates the Consent
799
+ This field is REQUIRED for POST /consent.
800
+ creation of this Consent.
801
+ scopes:
802
+ minLength: 1
803
+ maxLength: 256
804
+ type: array
805
+ items:
806
+ $ref: '#/paths/~1consentRequests/post/requestBody/content/application~1json/schema/properties/scopes/items'
807
+ credential:
808
+ allOf:
809
+ - $ref: '#/paths/~1consents~1%7BID%7D/put/requestBody/content/application~1json/schema/oneOf/0/properties/credential'
810
+ status:
811
+ title: ConsentStatus
812
+ type: string
813
+ enum:
814
+ - ISSUED
815
+ - REVOKED
816
+ description: |-
817
+ Allowed values for the enumeration ConsentStatus
818
+ - ISSUED - The consent has been issued by the DFSP
819
+ - REVOKED - The consent has been revoked
820
+ required:
821
+ - consentId
822
+ - scopes
823
+ - credential
824
+ - status
825
+ additionalProperties: false
826
+ - title: ConsentPostRequestPISP
827
+ type: object
828
+ description: The object sent in a `POST /consents` request to PISP by DFSP to ask for delivering the credential object.
829
+ properties:
830
+ consentId:
831
+ allOf:
832
+ - $ref: '#/paths/~1consentRequests/post/requestBody/content/application~1json/schema/properties/consentRequestId'
833
+ description: |
834
+ Common ID between the PISP and the Payer DFSP for the consent object. The ID
835
+ should be reused for resends of the same consent. A new ID should be generated
836
+ for each new consent.
837
+ consentRequestId:
838
+ allOf:
839
+ - $ref: '#/paths/~1consentRequests/post/requestBody/content/application~1json/schema/properties/consentRequestId'
840
+ description: |
841
+ The ID given to the original consent request on which this consent is based.
842
+ scopes:
843
+ type: array
844
+ minLength: 1
845
+ maxLength: 256
846
+ items:
847
+ $ref: '#/paths/~1consentRequests/post/requestBody/content/application~1json/schema/properties/scopes/items'
848
+ status:
849
+ $ref: '#/paths/~1consents/post/requestBody/content/application~1json/schema/oneOf/0/properties/status'
850
+ required:
851
+ - consentId
852
+ - consentRequestId
853
+ - scopes
854
+ - status
855
+ responses:
856
+ '202':
857
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/202'
858
+ '400':
859
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400'
860
+ '401':
861
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/401'
862
+ '403':
863
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/403'
864
+ '404':
865
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/404'
866
+ '405':
867
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/405'
868
+ '406':
869
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/406'
870
+ '501':
871
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/501'
872
+ '503':
873
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/503'
874
+ '/consents/{ID}':
875
+ parameters:
876
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/1'
877
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/2'
878
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/3'
879
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/4'
880
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/5'
881
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/6'
882
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/7'
883
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/8'
884
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/9'
885
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/10'
886
+ get:
887
+ description: |
888
+ The **GET /consents/**_{ID}_ resource allows a party to enquire after the status of a consent. The *{ID}* used in the URI of the request should be the consent request ID which was used to identify the consent when it was created.
889
+ tags:
890
+ - consents
891
+ operationId: GetConsent
892
+ summary: GetConsent
893
+ parameters:
894
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/parameters/0'
895
+ responses:
896
+ '202':
897
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/202'
898
+ '400':
899
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400'
900
+ '401':
901
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/401'
902
+ '403':
903
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/403'
904
+ '404':
905
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/404'
906
+ '405':
907
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/405'
908
+ '406':
909
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/406'
910
+ '501':
911
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/501'
912
+ '503':
913
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/503'
914
+ patch:
915
+ description: |
916
+ The HTTP request `PATCH /consents/{ID}` is used
917
+
918
+ - In account linking in the Credential Registration phase. Used by a DFSP
919
+ to notify a PISP a credential has been verified and registered with an
920
+ Auth service.
921
+
922
+ - In account unlinking by a hub hosted auth service and by DFSPs
923
+ in non-hub hosted scenarios to notify participants of a consent being revoked.
924
+
925
+ Called by a `auth-service` to notify a PISP and DFSP of consent status in hub hosted scenario.
926
+ Called by a `DFSP` to notify a PISP of consent status in non-hub hosted scenario.
927
+ tags:
928
+ - consents
929
+ - sampled
930
+ operationId: PatchConsentByID
931
+ summary: PatchConsentByID
932
+ requestBody:
933
+ required: true
934
+ content:
935
+ application/json:
936
+ schema:
937
+ oneOf:
938
+ - title: ConsentsIDPatchResponseVerified
939
+ description: |
940
+ PATCH /consents/{ID} request object.
941
+
942
+ Sent by the DFSP to the PISP when a consent is verified.
943
+ Used in the "Register Credential" part of the Account linking flow.
944
+ type: object
945
+ properties:
946
+ credential:
947
+ type: object
948
+ properties:
949
+ status:
950
+ title: CredentialStatus
951
+ type: string
952
+ enum:
953
+ - VERIFIED
954
+ description: |
955
+ The status of the Credential.
956
+ - "VERIFIED" - The Credential is valid and verified.
957
+ required:
958
+ - status
959
+ required:
960
+ - credential
961
+ - title: ConsentsIDPatchResponseRevoked
962
+ description: |
963
+ PATCH /consents/{ID} request object.
964
+
965
+ Sent to both the PISP and DFSP when a consent is revoked.
966
+ Used in the "Unlinking" part of the Account Unlinking flow.
967
+ type: object
968
+ properties:
969
+ status:
970
+ title: ConsentStatus
971
+ type: string
972
+ enum:
973
+ - REVOKED
974
+ description: |-
975
+ Allowed values for the enumeration ConsentStatus
976
+ - REVOKED - The consent has been revoked
977
+ revokedAt:
978
+ $ref: '#/paths/~1thirdpartyRequests~1transactions~1%7BID%7D/patch/requestBody/content/application~1json/schema/properties/completedTimestamp'
979
+ required:
980
+ - status
981
+ - revokedAt
982
+ parameters:
983
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/parameters/0'
984
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/parameters/0'
985
+ responses:
986
+ '200':
987
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/responses/200'
988
+ '400':
989
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400'
990
+ '401':
991
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/401'
992
+ '403':
993
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/403'
994
+ '404':
995
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/404'
996
+ '405':
997
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/405'
998
+ '406':
999
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/406'
1000
+ '501':
1001
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/501'
1002
+ '503':
1003
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/503'
1004
+ put:
1005
+ description: |
1006
+ The HTTP request `PUT /consents/{ID}` is used by the PISP and Auth Service.
1007
+
1008
+ - Called by a `PISP` to after signing a challenge. Sent to an DFSP for verification.
1009
+ - Called by a `auth-service` to notify a DFSP that a credential has been verified and registered.
1010
+ tags:
1011
+ - consents
1012
+ - sampled
1013
+ operationId: PutConsentByID
1014
+ summary: PutConsentByID
1015
+ requestBody:
1016
+ required: true
1017
+ content:
1018
+ application/json:
1019
+ schema:
1020
+ oneOf:
1021
+ - title: ConsentsIDPutResponseSigned
1022
+ type: object
1023
+ description: |
1024
+ The HTTP request `PUT /consents/{ID}` is used by the PISP to update a Consent with a signed challenge and register a credential.
1025
+ Called by a `PISP` to after signing a challenge. Sent to a DFSP for verification.
1026
+ properties:
1027
+ scopes:
1028
+ type: array
1029
+ items:
1030
+ $ref: '#/paths/~1consentRequests/post/requestBody/content/application~1json/schema/properties/scopes/items'
1031
+ status:
1032
+ title: ConsentStatus
1033
+ type: string
1034
+ enum:
1035
+ - ISSUED
1036
+ description: |-
1037
+ Allowed values for the enumeration ConsentStatus
1038
+ - ISSUED - The consent has been issued by the DFSP
1039
+ credential:
1040
+ title: SignedCredential
1041
+ type: object
1042
+ description: |
1043
+ A credential used to allow a user to prove their identity and access
1044
+ to an account with a DFSP.
1045
+
1046
+ SignedCredential is a special formatting of the credential to allow us to be
1047
+ more explicit about the `status` field - it should only ever be PENDING when
1048
+ updating a credential.
1049
+ properties:
1050
+ credentialType:
1051
+ title: CredentialType
1052
+ type: string
1053
+ enum:
1054
+ - FIDO
1055
+ - GENERIC
1056
+ description: |
1057
+ The type of the Credential.
1058
+ - "FIDO" - A FIDO public/private keypair
1059
+ - "GENERIC" - A Generic public/private keypair
1060
+ status:
1061
+ title: CredentialStatus
1062
+ type: string
1063
+ enum:
1064
+ - PENDING
1065
+ description: |
1066
+ The status of the Credential.
1067
+ - "PENDING" - The credential has been created, but has not been verified
1068
+ genericPayload:
1069
+ title: GenericCredential
1070
+ type: object
1071
+ description: |
1072
+ A publicKey + signature of a challenge for a generic public/private keypair
1073
+ properties:
1074
+ publicKey:
1075
+ $ref: '#/paths/~1consentRequests~1%7BID%7D/patch/requestBody/content/application~1json/schema/properties/authToken'
1076
+ signature:
1077
+ $ref: '#/paths/~1consentRequests~1%7BID%7D/patch/requestBody/content/application~1json/schema/properties/authToken'
1078
+ required:
1079
+ - publicKey
1080
+ - signature
1081
+ additionalProperties: false
1082
+ fidoPayload:
1083
+ $ref: '#/paths/~1consents~1%7BID%7D/put/requestBody/content/application~1json/schema/oneOf/1/properties/credential/properties/payload'
1084
+ required:
1085
+ - credentialType
1086
+ - status
1087
+ additionalProperties: false
1088
+ required:
1089
+ - scopes
1090
+ - credential
1091
+ additionalProperties: false
1092
+ - title: ConsentsIDPutResponseVerified
1093
+ type: object
1094
+ description: |
1095
+ The HTTP request `PUT /consents/{ID}` is used by the DFSP or Auth-Service to update a Consent object once it has been Verified.
1096
+ Called by a `auth-service` to notify a DFSP that a credential has been verified and registered.
1097
+ properties:
1098
+ scopes:
1099
+ type: array
1100
+ items:
1101
+ $ref: '#/paths/~1consentRequests/post/requestBody/content/application~1json/schema/properties/scopes/items'
1102
+ status:
1103
+ $ref: '#/paths/~1consents~1%7BID%7D/put/requestBody/content/application~1json/schema/oneOf/0/properties/status'
1104
+ credential:
1105
+ title: VerifiedCredential
1106
+ type: object
1107
+ description: |
1108
+ A credential used to allow a user to prove their identity and access
1109
+ to an account with a DFSP.
1110
+
1111
+ VerifiedCredential is a special formatting of the credential to allow us to be
1112
+ more explicit about the `status` field - it should only ever be VERIFIED when
1113
+ updating a credential.
1114
+ properties:
1115
+ credentialType:
1116
+ $ref: '#/paths/~1consents~1%7BID%7D/put/requestBody/content/application~1json/schema/oneOf/0/properties/credential/properties/credentialType'
1117
+ status:
1118
+ type: string
1119
+ enum:
1120
+ - VERIFIED
1121
+ description: 'The Credential is valid, and ready to be used by the PISP.'
1122
+ payload:
1123
+ title: FIDOPublicKeyCredentialAttestation
1124
+ type: object
1125
+ description: |
1126
+ A data model representing a FIDO Attestation result. Derived from
1127
+ [`PublicKeyCredential` Interface](https://w3c.github.io/webauthn/#iface-pkcredential).
1128
+
1129
+ The `PublicKeyCredential` interface represents the below fields with
1130
+ a Type of Javascript [ArrayBuffer](https://heycam.github.io/webidl/#idl-ArrayBuffer).
1131
+ For this API, we represent ArrayBuffers as base64 encoded utf-8 strings.
1132
+ properties:
1133
+ id:
1134
+ type: string
1135
+ description: |
1136
+ credential id: identifier of pair of keys, base64 encoded
1137
+ https://w3c.github.io/webauthn/#ref-for-dom-credential-id
1138
+ minLength: 59
1139
+ maxLength: 118
1140
+ rawId:
1141
+ type: string
1142
+ description: |
1143
+ raw credential id: identifier of pair of keys, base64 encoded
1144
+ minLength: 59
1145
+ maxLength: 118
1146
+ response:
1147
+ type: object
1148
+ description: |
1149
+ AuthenticatorAttestationResponse
1150
+ properties:
1151
+ clientDataJSON:
1152
+ type: string
1153
+ description: |
1154
+ JSON string with client data
1155
+ minLength: 121
1156
+ maxLength: 512
1157
+ attestationObject:
1158
+ type: string
1159
+ description: |
1160
+ CBOR.encoded attestation object
1161
+ minLength: 306
1162
+ maxLength: 2048
1163
+ required:
1164
+ - clientDataJSON
1165
+ - attestationObject
1166
+ additionalProperties: false
1167
+ type:
1168
+ type: string
1169
+ description: 'response type, we need only the type of public-key'
1170
+ enum:
1171
+ - public-key
1172
+ required:
1173
+ - id
1174
+ - response
1175
+ - type
1176
+ additionalProperties: false
1177
+ required:
1178
+ - credentialType
1179
+ - status
1180
+ - payload
1181
+ additionalProperties: false
1182
+ required:
1183
+ - scopes
1184
+ - credential
1185
+ additionalProperties: false
1186
+ parameters:
1187
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/parameters/0'
1188
+ responses:
1189
+ '200':
1190
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/responses/200'
1191
+ '202':
1192
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/202'
1193
+ '400':
1194
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400'
1195
+ '401':
1196
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/401'
1197
+ '403':
1198
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/403'
1199
+ '404':
1200
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/404'
1201
+ '405':
1202
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/405'
1203
+ '406':
1204
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/406'
1205
+ '501':
1206
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/501'
1207
+ '503':
1208
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/503'
1209
+ delete:
1210
+ description: |
1211
+ Used by PISP, DFSP
1212
+
1213
+ The **DELETE /consents/**_{ID}_ request is used to request the revocation of a previously agreed consent.
1214
+ For tracing and auditing purposes, the switch should be sure not to delete the consent physically;
1215
+ instead, information relating to the consent should be marked as deleted and requests relating to the
1216
+ consent should not be honoured.
1217
+ operationId: DeleteConsentByID
1218
+ parameters:
1219
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/parameters/0'
1220
+ tags:
1221
+ - consents
1222
+ responses:
1223
+ '202':
1224
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/202'
1225
+ '400':
1226
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400'
1227
+ '401':
1228
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/401'
1229
+ '403':
1230
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/403'
1231
+ '404':
1232
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/404'
1233
+ '405':
1234
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/405'
1235
+ '406':
1236
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/406'
1237
+ '501':
1238
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/501'
1239
+ '503':
1240
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/503'
1241
+ '/consents/{ID}/error':
1242
+ parameters:
1243
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/1'
1244
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/2'
1245
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/3'
1246
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/4'
1247
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/5'
1248
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/6'
1249
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/7'
1250
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/8'
1251
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/9'
1252
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/10'
1253
+ put:
1254
+ tags:
1255
+ - consents
1256
+ operationId: NotifyErrorConsents
1257
+ summary: NotifyErrorConsents
1258
+ description: |
1259
+ DFSP responds to the PISP if something went wrong with validating or storing consent.
1260
+ parameters:
1261
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/parameters/0'
1262
+ requestBody:
1263
+ description: Error information returned.
1264
+ required: true
1265
+ content:
1266
+ application/json:
1267
+ schema:
1268
+ $ref: '#/paths/~1accounts~1%7BID%7D~1error/put/requestBody/content/application~1json/schema'
1269
+ responses:
1270
+ '200':
1271
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/responses/200'
1272
+ '400':
1273
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400'
1274
+ '401':
1275
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/401'
1276
+ '403':
1277
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/403'
1278
+ '404':
1279
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/404'
1280
+ '405':
1281
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/405'
1282
+ '406':
1283
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/406'
1284
+ '501':
1285
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/501'
1286
+ '503':
1287
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/503'
1288
+ /thirdpartyRequests/authorizations:
1289
+ parameters:
1290
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/2'
1291
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/3'
1292
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/4'
1293
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/5'
1294
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/6'
1295
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/7'
1296
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/8'
1297
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/9'
1298
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/10'
1299
+ post:
1300
+ description: |
1301
+ The HTTP request **POST /thirdpartyRequests/authorizations** is used to request the validation by a customer for the transfer described in the request.
1302
+ operationId: PostThirdpartyRequestsAuthorizations
1303
+ summary: PostThirdpartyRequestsAuthorizations
1304
+ tags:
1305
+ - authorizations
1306
+ parameters:
1307
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/parameters/0'
1308
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/parameters/0'
1309
+ requestBody:
1310
+ description: Authorization request details
1311
+ required: true
1312
+ content:
1313
+ application/json:
1314
+ schema:
1315
+ title: ThirdpartyRequestsAuthorizationsPostRequest
1316
+ description: POST /thirdpartyRequests/authorizations request object.
1317
+ type: object
1318
+ properties:
1319
+ authorizationRequestId:
1320
+ $ref: '#/paths/~1consentRequests/post/requestBody/content/application~1json/schema/properties/consentRequestId'
1321
+ transactionRequestId:
1322
+ $ref: '#/paths/~1consentRequests/post/requestBody/content/application~1json/schema/properties/consentRequestId'
1323
+ challenge:
1324
+ type: string
1325
+ description: The challenge that the PISP's client is to sign
1326
+ transferAmount:
1327
+ allOf:
1328
+ - $ref: '#/paths/~1thirdpartyRequests~1transactions/post/requestBody/content/application~1json/schema/properties/amount/allOf/0'
1329
+ description: The amount that will be debited from the sending customer’s account as a consequence of the transaction.
1330
+ payeeReceiveAmount:
1331
+ allOf:
1332
+ - $ref: '#/paths/~1thirdpartyRequests~1transactions/post/requestBody/content/application~1json/schema/properties/amount/allOf/0'
1333
+ description: The amount that will be credited to the receiving customer’s account as a consequence of the transaction.
1334
+ fees:
1335
+ allOf:
1336
+ - $ref: '#/paths/~1thirdpartyRequests~1transactions/post/requestBody/content/application~1json/schema/properties/amount/allOf/0'
1337
+ description: The amount of fees that the paying customer will be charged as part of the transaction.
1338
+ payer:
1339
+ allOf:
1340
+ - $ref: '#/paths/~1thirdpartyRequests~1transactions/post/requestBody/content/application~1json/schema/properties/payer/allOf/0'
1341
+ description: 'Information about the Payer type, id, sub-type/id, FSP Id in the proposed financial transaction.'
1342
+ payee:
1343
+ allOf:
1344
+ - $ref: '#/paths/~1thirdpartyRequests~1transactions/post/requestBody/content/application~1json/schema/properties/payee/allOf/0'
1345
+ description: Information about the Payee in the proposed financial transaction.
1346
+ transactionType:
1347
+ title: TransactionType
1348
+ type: object
1349
+ description: Data model for the complex type TransactionType.
1350
+ properties:
1351
+ scenario:
1352
+ title: TransactionScenario
1353
+ type: string
1354
+ enum:
1355
+ - DEPOSIT
1356
+ - WITHDRAWAL
1357
+ - TRANSFER
1358
+ - PAYMENT
1359
+ - REFUND
1360
+ description: |-
1361
+ Below are the allowed values for the enumeration.
1362
+ - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User.
1363
+ - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer.
1364
+ - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction.
1365
+ - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on.
1366
+ - REFUND - Used for performing a refund of transaction.
1367
+ example: DEPOSIT
1368
+ subScenario:
1369
+ title: TransactionSubScenario
1370
+ type: string
1371
+ pattern: '^[A-Z_]{1,32}$'
1372
+ description: 'Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).'
1373
+ example: LOCALLY_DEFINED_SUBSCENARIO
1374
+ initiator:
1375
+ title: TransactionInitiator
1376
+ type: string
1377
+ enum:
1378
+ - PAYER
1379
+ - PAYEE
1380
+ description: |-
1381
+ Below are the allowed values for the enumeration.
1382
+ - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way.
1383
+ - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device.
1384
+ example: PAYEE
1385
+ initiatorType:
1386
+ title: TransactionInitiatorType
1387
+ type: string
1388
+ enum:
1389
+ - CONSUMER
1390
+ - AGENT
1391
+ - BUSINESS
1392
+ - DEVICE
1393
+ description: |-
1394
+ Below are the allowed values for the enumeration.
1395
+ - CONSUMER - Consumer is the initiator of the transaction.
1396
+ - AGENT - Agent is the initiator of the transaction.
1397
+ - BUSINESS - Business is the initiator of the transaction.
1398
+ - DEVICE - Device is the initiator of the transaction.
1399
+ example: CONSUMER
1400
+ refundInfo:
1401
+ title: Refund
1402
+ type: object
1403
+ description: Data model for the complex type Refund.
1404
+ properties:
1405
+ originalTransactionId:
1406
+ $ref: '#/paths/~1consentRequests/post/requestBody/content/application~1json/schema/properties/consentRequestId'
1407
+ refundReason:
1408
+ title: RefundReason
1409
+ type: string
1410
+ minLength: 1
1411
+ maxLength: 128
1412
+ description: Reason for the refund.
1413
+ example: Free text indicating reason for the refund.
1414
+ required:
1415
+ - originalTransactionId
1416
+ balanceOfPayments:
1417
+ title: BalanceOfPayments
1418
+ type: string
1419
+ pattern: '^[1-9]\d{2}$'
1420
+ description: '(BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed.'
1421
+ example: '123'
1422
+ required:
1423
+ - scenario
1424
+ - initiator
1425
+ - initiatorType
1426
+ expiration:
1427
+ allOf:
1428
+ - $ref: '#/paths/~1thirdpartyRequests~1transactions~1%7BID%7D/patch/requestBody/content/application~1json/schema/properties/completedTimestamp'
1429
+ description: 'The time by which the transfer must be completed, set by the payee DFSP.'
1430
+ extensionList:
1431
+ title: ExtensionList
1432
+ type: object
1433
+ description: 'Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.'
1434
+ properties:
1435
+ extension:
1436
+ type: array
1437
+ items:
1438
+ title: Extension
1439
+ type: object
1440
+ description: Data model for the complex type Extension.
1441
+ properties:
1442
+ key:
1443
+ title: ExtensionKey
1444
+ type: string
1445
+ minLength: 1
1446
+ maxLength: 32
1447
+ description: Extension key.
1448
+ value:
1449
+ title: ExtensionValue
1450
+ type: string
1451
+ minLength: 1
1452
+ maxLength: 128
1453
+ description: Extension value.
1454
+ required:
1455
+ - key
1456
+ - value
1457
+ minItems: 1
1458
+ maxItems: 16
1459
+ description: Number of Extension elements.
1460
+ required:
1461
+ - extension
1462
+ required:
1463
+ - authorizationRequestId
1464
+ - transactionRequestId
1465
+ - challenge
1466
+ - transferAmount
1467
+ - payeeReceiveAmount
1468
+ - fees
1469
+ - payer
1470
+ - payee
1471
+ - transactionType
1472
+ - expiration
1473
+ additionalProperties: false
1474
+ responses:
1475
+ '202':
1476
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/202'
1477
+ '400':
1478
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400'
1479
+ '401':
1480
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/401'
1481
+ '403':
1482
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/403'
1483
+ '404':
1484
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/404'
1485
+ '405':
1486
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/405'
1487
+ '406':
1488
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/406'
1489
+ '501':
1490
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/501'
1491
+ '503':
1492
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/503'
1493
+ '/thirdpartyRequests/authorizations/{ID}':
1494
+ parameters:
1495
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/1'
1496
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/2'
1497
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/3'
1498
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/4'
1499
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/5'
1500
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/6'
1501
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/7'
1502
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/8'
1503
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/9'
1504
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/10'
1505
+ get:
1506
+ description: |
1507
+ The HTTP request **GET /thirdpartyRequests/authorizations/**_{ID}_ is used to get information relating
1508
+ to a previously issued authorization request. The *{ID}* in the request should match the
1509
+ `authorizationRequestId` which was given when the authorization request was created.
1510
+ operationId: GetThirdpartyRequestsAuthorizationsById
1511
+ summary: GetThirdpartyRequestsAuthorizationsById
1512
+ tags:
1513
+ - authorizations
1514
+ parameters:
1515
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/parameters/0'
1516
+ responses:
1517
+ '202':
1518
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/202'
1519
+ '400':
1520
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400'
1521
+ '401':
1522
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/401'
1523
+ '403':
1524
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/403'
1525
+ '404':
1526
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/404'
1527
+ '405':
1528
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/405'
1529
+ '406':
1530
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/406'
1531
+ '501':
1532
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/501'
1533
+ '503':
1534
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/503'
1535
+ put:
1536
+ description: |
1537
+ After receiving the **POST /thirdpartyRequests/authorizations**, the PISP will present the details of the
1538
+ transaction to their user, and request that the client sign the `challenge` field using the credential
1539
+ they previously registered.
1540
+
1541
+ The signed challenge will be sent back by the PISP in **PUT /thirdpartyRequests/authorizations/**_{ID}_:
1542
+ operationId: PutThirdpartyRequestsAuthorizationsById
1543
+ summary: PutThirdpartyRequestsAuthorizationsById
1544
+ tags:
1545
+ - authorizations
1546
+ parameters:
1547
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/parameters/0'
1548
+ requestBody:
1549
+ description: Signed authorization object
1550
+ required: true
1551
+ content:
1552
+ application/json:
1553
+ schema:
1554
+ oneOf:
1555
+ - title: ThirdpartyRequestsAuthorizationsIDPutResponseGeneric
1556
+ type: object
1557
+ description: 'The object sent in the PUT /thirdpartyRequests/authorizations/{ID} callback.'
1558
+ properties:
1559
+ responseType:
1560
+ title: AuthorizationResponseType
1561
+ description: |
1562
+ The customer rejected the terms of the transfer.
1563
+ type: string
1564
+ enum:
1565
+ - REJECTED
1566
+ required:
1567
+ - responseType
1568
+ - title: ThirdpartyRequestsAuthorizationsIDPutResponseFIDO
1569
+ type: object
1570
+ description: 'The object sent in the PUT /thirdpartyRequests/authorizations/{ID} callback.'
1571
+ properties:
1572
+ responseType:
1573
+ title: AuthorizationResponseType
1574
+ description: |
1575
+ The customer accepted the terms of the transfer
1576
+ type: string
1577
+ enum:
1578
+ - ACCEPTED
1579
+ signedPayload:
1580
+ type: object
1581
+ properties:
1582
+ signedPayloadType:
1583
+ title: SignedPayloadTypeFIDO
1584
+ type: string
1585
+ enum:
1586
+ - FIDO
1587
+ description: Describes a challenge that has been signed with FIDO Attestation flows
1588
+ fidoSignedPayload:
1589
+ title: FIDOPublicKeyCredentialAssertion
1590
+ type: object
1591
+ description: |
1592
+ An object sent in a `PUT /thirdpartyRequests/authorization/{ID}` request.
1593
+ based mostly on: https://webauthn.guide/#authentication
1594
+ AuthenticatorAssertionResponse
1595
+ properties:
1596
+ id:
1597
+ type: string
1598
+ description: |
1599
+ credential id: identifier of pair of keys, base64 encoded
1600
+ https://w3c.github.io/webauthn/#ref-for-dom-credential-id
1601
+ minLength: 59
1602
+ maxLength: 118
1603
+ rawId:
1604
+ type: string
1605
+ description: |
1606
+ raw credential id: identifier of pair of keys, base64 encoded.
1607
+ minLength: 59
1608
+ maxLength: 118
1609
+ response:
1610
+ type: object
1611
+ description: |
1612
+ AuthenticatorAssertionResponse
1613
+ properties:
1614
+ authenticatorData:
1615
+ type: string
1616
+ description: |
1617
+ Authenticator data object.
1618
+ minLength: 49
1619
+ maxLength: 256
1620
+ clientDataJSON:
1621
+ type: string
1622
+ description: |
1623
+ JSON string with client data.
1624
+ minLength: 121
1625
+ maxLength: 512
1626
+ signature:
1627
+ type: string
1628
+ description: |
1629
+ The signature generated by the private key associated with this credential.
1630
+ minLength: 59
1631
+ maxLength: 256
1632
+ userHandle:
1633
+ type: string
1634
+ description: |
1635
+ This field is optionally provided by the authenticator, and
1636
+ represents the user.id that was supplied during registration.
1637
+ minLength: 1
1638
+ maxLength: 88
1639
+ required:
1640
+ - authenticatorData
1641
+ - clientDataJSON
1642
+ - signature
1643
+ additionalProperties: false
1644
+ type:
1645
+ type: string
1646
+ description: 'response type, we need only the type of public-key'
1647
+ enum:
1648
+ - public-key
1649
+ required:
1650
+ - id
1651
+ - rawId
1652
+ - response
1653
+ - type
1654
+ additionalProperties: false
1655
+ required:
1656
+ - signedPayloadType
1657
+ - fidoSignedPayload
1658
+ additionalProperties: false
1659
+ required:
1660
+ - responseType
1661
+ - signedPayload
1662
+ additionalProperties: false
1663
+ - title: ThirdpartyRequestsAuthorizationsIDPutResponseGeneric
1664
+ type: object
1665
+ description: 'The object sent in the PUT /thirdpartyRequests/authorizations/{ID} callback.'
1666
+ properties:
1667
+ responseType:
1668
+ $ref: '#/paths/~1thirdpartyRequests~1authorizations~1%7BID%7D/put/requestBody/content/application~1json/schema/oneOf/1/properties/responseType'
1669
+ signedPayload:
1670
+ type: object
1671
+ properties:
1672
+ signedPayloadType:
1673
+ title: SignedPayloadTypeGeneric
1674
+ type: string
1675
+ enum:
1676
+ - GENERIC
1677
+ description: Describes a challenge that has been signed with a private key
1678
+ genericSignedPayload:
1679
+ $ref: '#/paths/~1consentRequests~1%7BID%7D/patch/requestBody/content/application~1json/schema/properties/authToken'
1680
+ required:
1681
+ - signedPayloadType
1682
+ - genericSignedPayload
1683
+ additionalProperties: false
1684
+ required:
1685
+ - responseType
1686
+ - signedPayload
1687
+ additionalProperties: false
1688
+ responses:
1689
+ '200':
1690
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/responses/200'
1691
+ '400':
1692
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400'
1693
+ '401':
1694
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/401'
1695
+ '403':
1696
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/403'
1697
+ '404':
1698
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/404'
1699
+ '405':
1700
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/405'
1701
+ '406':
1702
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/406'
1703
+ '501':
1704
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/501'
1705
+ '503':
1706
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/503'
1707
+ '/thirdpartyRequests/authorizations/{ID}/error':
1708
+ parameters:
1709
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/1'
1710
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/2'
1711
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/3'
1712
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/4'
1713
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/5'
1714
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/6'
1715
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/7'
1716
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/8'
1717
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/9'
1718
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/10'
1719
+ put:
1720
+ tags:
1721
+ - thirdpartyRequests
1722
+ - sampled
1723
+ operationId: PutThirdpartyRequestsAuthorizationsByIdAndError
1724
+ summary: PutThirdpartyRequestsAuthorizationsByIdAndError
1725
+ description: |
1726
+ The HTTP request `PUT /thirdpartyRequests/authorizations/{ID}/error` is used by the DFSP or PISP to inform
1727
+ the other party that something went wrong with a Thirdparty Transaction Authorization Request.
1728
+
1729
+ The PISP may use this to tell the DFSP that the Thirdparty Transaction Authorization Request is invalid or doesn't
1730
+ match a `transactionRequestId`.
1731
+
1732
+ The DFSP may use this to tell the PISP that the signed challenge returned in `PUT /thirdpartyRequest/authorizations/{ID}`
1733
+ was invalid.
1734
+ parameters:
1735
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/parameters/0'
1736
+ requestBody:
1737
+ description: Error information returned.
1738
+ required: true
1739
+ content:
1740
+ application/json:
1741
+ schema:
1742
+ $ref: '#/paths/~1accounts~1%7BID%7D~1error/put/requestBody/content/application~1json/schema'
1743
+ responses:
1744
+ '200':
1745
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/responses/200'
1746
+ '400':
1747
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400'
1748
+ '401':
1749
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/401'
1750
+ '403':
1751
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/403'
1752
+ '404':
1753
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/404'
1754
+ '405':
1755
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/405'
1756
+ '406':
1757
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/406'
1758
+ '501':
1759
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/501'
1760
+ '503':
1761
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/503'
1762
+ /thirdpartyRequests/transactions:
1763
+ parameters:
1764
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/2'
1765
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/3'
1766
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/4'
1767
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/5'
1768
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/6'
1769
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/7'
1770
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/8'
1771
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/9'
1772
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/10'
1773
+ post:
1774
+ operationId: ThirdpartyRequestsTransactionsPost
1775
+ summary: ThirdpartyRequestsTransactionsPost
1776
+ description: The HTTP request POST `/thirdpartyRequests/transactions` is used by a PISP to initiate a 3rd party Transaction request with a DFSP
1777
+ tags:
1778
+ - thirdpartyRequests
1779
+ parameters:
1780
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/parameters/0'
1781
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/parameters/0'
1782
+ requestBody:
1783
+ description: Transaction request to be created.
1784
+ required: true
1785
+ content:
1786
+ application/json:
1787
+ schema:
1788
+ title: ThirdpartyRequestsTransactionsPostRequest
1789
+ type: object
1790
+ description: The object sent in the POST /thirdpartyRequests/transactions request.
1791
+ properties:
1792
+ transactionRequestId:
1793
+ allOf:
1794
+ - $ref: '#/paths/~1consentRequests/post/requestBody/content/application~1json/schema/properties/consentRequestId'
1795
+ description: |
1796
+ Common ID between the PISP and the Payer DFSP for the transaction request object. The ID should be reused for resends of the same transaction request. A new ID should be generated for each new transaction request.
1797
+ payee:
1798
+ allOf:
1799
+ - title: Party
1800
+ type: object
1801
+ description: Data model for the complex type Party.
1802
+ properties:
1803
+ partyIdInfo:
1804
+ $ref: '#/paths/~1thirdpartyRequests~1transactions/post/requestBody/content/application~1json/schema/properties/payer/allOf/0'
1805
+ merchantClassificationCode:
1806
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/requestBody/content/application~1json/schema/properties/party/properties/merchantClassificationCode'
1807
+ name:
1808
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/requestBody/content/application~1json/schema/properties/party/properties/name'
1809
+ personalInfo:
1810
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/requestBody/content/application~1json/schema/properties/party/properties/personalInfo'
1811
+ required:
1812
+ - partyIdInfo
1813
+ description: Information about the Payee in the proposed financial transaction.
1814
+ payer:
1815
+ allOf:
1816
+ - title: PartyIdInfo
1817
+ type: object
1818
+ description: Data model for the complex type PartyIdInfo.
1819
+ properties:
1820
+ partyIdType:
1821
+ title: PartyIdType
1822
+ type: string
1823
+ enum:
1824
+ - MSISDN
1825
+ - EMAIL
1826
+ - PERSONAL_ID
1827
+ - BUSINESS
1828
+ - DEVICE
1829
+ - ACCOUNT_ID
1830
+ - IBAN
1831
+ - ALIAS
1832
+ - CONSENT
1833
+ - THIRD_PARTY_LINK
1834
+ description: |
1835
+ This is a variant based on FSPIOP `PartyIdType` specification.
1836
+ Main difference being the CONSENT and THIRD_PARTY_LINK enums.
1837
+
1838
+ Below are the allowed values for the enumeration.
1839
+ - MSISDN - An MSISDN (Mobile Station International Subscriber Directory
1840
+ Number, that is, the phone number) is used as reference to a participant.
1841
+ The MSISDN identifier should be in international format according to the
1842
+ [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en).
1843
+ Optionally, the MSISDN may be prefixed by a single plus sign, indicating the
1844
+ international prefix.
1845
+ - EMAIL - An email is used as reference to a
1846
+ participant. The format of the email should be according to the informational
1847
+ [RFC 3696](https://tools.ietf.org/html/rfc3696).
1848
+ - PERSONAL_ID - A personal identifier is used as reference to a participant.
1849
+ Examples of personal identification are passport number, birth certificate
1850
+ number, and national registration number. The identifier number is added in
1851
+ the PartyIdentifier element. The personal identifier type is added in the
1852
+ PartySubIdOrType element.
1853
+ - BUSINESS - A specific Business (for example, an organization or a company)
1854
+ is used as reference to a participant. The BUSINESS identifier can be in any
1855
+ format. To make a transaction connected to a specific username or bill number
1856
+ in a Business, the PartySubIdOrType element should be used.
1857
+ - DEVICE - A specific device (for example, a POS or ATM) ID connected to a
1858
+ specific business or organization is used as reference to a Party.
1859
+ For referencing a specific device under a specific business or organization,
1860
+ use the PartySubIdOrType element.
1861
+ - ACCOUNT_ID - A bank account number or FSP account ID should be used as
1862
+ reference to a participant. The ACCOUNT_ID identifier can be in any format,
1863
+ as formats can greatly differ depending on country and FSP.
1864
+ - IBAN - A bank account number or FSP account ID is used as reference to a
1865
+ participant. The IBAN identifier can consist of up to 34 alphanumeric
1866
+ characters and should be entered without whitespace.
1867
+ - ALIAS An alias is used as reference to a participant. The alias should be
1868
+ created in the FSP as an alternative reference to an account owner.
1869
+ Another example of an alias is a username in the FSP system.
1870
+ The ALIAS identifier can be in any format. It is also possible to use the
1871
+ PartySubIdOrType element for identifying an account under an Alias defined
1872
+ by the PartyIdentifier.
1873
+ - CONSENT - TBD
1874
+ - THIRD_PARTY_LINK - TBD
1875
+ example: PERSONAL_ID
1876
+ partyIdentifier:
1877
+ title: PartyIdentifier
1878
+ type: string
1879
+ minLength: 1
1880
+ maxLength: 128
1881
+ description: Identifier of the Party.
1882
+ example: '16135551212'
1883
+ partySubIdOrType:
1884
+ title: PartySubIdOrType
1885
+ type: string
1886
+ minLength: 1
1887
+ maxLength: 128
1888
+ description: 'Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType.'
1889
+ fspId:
1890
+ $ref: '#/paths/~1services~1%7BServiceType%7D/put/requestBody/content/application~1json/schema/properties/providers/items'
1891
+ extensionList:
1892
+ $ref: '#/paths/~1thirdpartyRequests~1authorizations/post/requestBody/content/application~1json/schema/properties/extensionList'
1893
+ required:
1894
+ - partyIdType
1895
+ - partyIdentifier
1896
+ description: Information about the Payer in the proposed financial transaction.
1897
+ amountType:
1898
+ allOf:
1899
+ - title: AmountType
1900
+ type: string
1901
+ enum:
1902
+ - SEND
1903
+ - RECEIVE
1904
+ description: |-
1905
+ Below are the allowed values for the enumeration AmountType.
1906
+ - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.
1907
+ - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.
1908
+ example: RECEIVE
1909
+ description: 'SEND for sendAmount, RECEIVE for receiveAmount.'
1910
+ amount:
1911
+ allOf:
1912
+ - title: Money
1913
+ type: object
1914
+ description: Data model for the complex type Money.
1915
+ properties:
1916
+ currency:
1917
+ $ref: '#/paths/~1accounts~1%7BID%7D/put/requestBody/content/application~1json/schema/properties/accountList/items/properties/currency'
1918
+ amount:
1919
+ title: Amount
1920
+ type: string
1921
+ pattern: '^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$'
1922
+ description: 'The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.'
1923
+ example: '123.45'
1924
+ required:
1925
+ - currency
1926
+ - amount
1927
+ description: Requested amount to be transferred from the Payer to Payee.
1928
+ transactionType:
1929
+ allOf:
1930
+ - $ref: '#/paths/~1thirdpartyRequests~1authorizations/post/requestBody/content/application~1json/schema/properties/transactionType'
1931
+ description: Type of transaction.
1932
+ note:
1933
+ type: string
1934
+ minLength: 1
1935
+ maxLength: 256
1936
+ description: A memo that will be attached to the transaction.
1937
+ expiration:
1938
+ type: string
1939
+ description: |
1940
+ Date and time until when the transaction request is valid. It can be set to get a quick failure in case the peer FSP takes too long to respond.
1941
+ example: '2016-05-24T08:38:08.699-04:00'
1942
+ required:
1943
+ - transactionRequestId
1944
+ - payee
1945
+ - payer
1946
+ - amountType
1947
+ - amount
1948
+ - transactionType
1949
+ - expiration
1950
+ responses:
1951
+ '202':
1952
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/202'
1953
+ '400':
1954
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400'
1955
+ '401':
1956
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/401'
1957
+ '403':
1958
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/403'
1959
+ '404':
1960
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/404'
1961
+ '405':
1962
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/405'
1963
+ '406':
1964
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/406'
1965
+ '501':
1966
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/501'
1967
+ '503':
1968
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/503'
1969
+ '/thirdpartyRequests/transactions/{ID}':
1970
+ parameters:
1971
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/1'
1972
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/2'
1973
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/3'
1974
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/4'
1975
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/5'
1976
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/6'
1977
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/7'
1978
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/8'
1979
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/9'
1980
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/10'
1981
+ get:
1982
+ tags:
1983
+ - thirdpartyRequests
1984
+ - sampled
1985
+ operationId: GetThirdpartyTransactionRequests
1986
+ summary: GetThirdpartyTransactionRequests
1987
+ description: |
1988
+ The HTTP request `GET /thirdpartyRequests/transactions/{ID}` is used to request the
1989
+ retrieval of a third party transaction request.
1990
+ parameters:
1991
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/parameters/0'
1992
+ responses:
1993
+ '202':
1994
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/202'
1995
+ '400':
1996
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400'
1997
+ '401':
1998
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/401'
1999
+ '403':
2000
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/403'
2001
+ '404':
2002
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/404'
2003
+ '405':
2004
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/405'
2005
+ '406':
2006
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/406'
2007
+ '501':
2008
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/501'
2009
+ '503':
2010
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/503'
2011
+ put:
2012
+ tags:
2013
+ - thirdpartyRequests
2014
+ - sampled
2015
+ operationId: UpdateThirdPartyTransactionRequests
2016
+ summary: UpdateThirdPartyTransactionRequests
2017
+ description: |
2018
+ The HTTP request `PUT /thirdpartyRequests/transactions/{ID}` is used by the DFSP to inform the client about
2019
+ the status of a previously requested thirdparty transaction request.
2020
+
2021
+ Switch(Thirdparty API Adapter) -> PISP
2022
+ parameters:
2023
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/parameters/0'
2024
+ requestBody:
2025
+ required: true
2026
+ content:
2027
+ application/json:
2028
+ schema:
2029
+ title: ThirdpartyRequestsTransactionsIDPutResponse
2030
+ type: object
2031
+ description: 'The object sent in the PUT /thirdPartyRequests/transactions/{ID} request.'
2032
+ properties:
2033
+ transactionRequestState:
2034
+ title: TransactionRequestState
2035
+ type: string
2036
+ enum:
2037
+ - RECEIVED
2038
+ - PENDING
2039
+ - ACCEPTED
2040
+ - REJECTED
2041
+ description: |-
2042
+ Below are the allowed values for the enumeration.
2043
+ - RECEIVED - Payer FSP has received the transaction from the Payee FSP.
2044
+ - PENDING - Payer FSP has sent the transaction request to the Payer.
2045
+ - ACCEPTED - Payer has approved the transaction.
2046
+ - REJECTED - Payer has rejected the transaction.
2047
+ example: RECEIVED
2048
+ required:
2049
+ - transactionRequestState
2050
+ example:
2051
+ transactionRequestState: RECEIVED
2052
+ responses:
2053
+ '200':
2054
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/responses/200'
2055
+ '400':
2056
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400'
2057
+ '401':
2058
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/401'
2059
+ '403':
2060
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/403'
2061
+ '404':
2062
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/404'
2063
+ '405':
2064
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/405'
2065
+ '406':
2066
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/406'
2067
+ '501':
2068
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/501'
2069
+ '503':
2070
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/503'
2071
+ patch:
2072
+ operationId: NotifyThirdpartyTransactionRequests
2073
+ summary: NotifyThirdpartyTransactionRequests
2074
+ description: |
2075
+ The HTTP request `PATCH /thirdpartyRequests/transactions/{ID}` is used to
2076
+ notify a thirdparty of the outcome of a transaction request.
2077
+
2078
+ Switch(Thirdparty API Adapter) -> PISP
2079
+ tags:
2080
+ - thirdpartyRequests
2081
+ parameters:
2082
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/parameters/0'
2083
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/parameters/0'
2084
+ requestBody:
2085
+ required: true
2086
+ content:
2087
+ application/json:
2088
+ schema:
2089
+ title: ThirdpartyRequestsTransactionsIDPatchResponse
2090
+ type: object
2091
+ description: 'The object sent in the PATCH /thirdpartyRequests/transactions/{ID} callback.'
2092
+ properties:
2093
+ completedTimestamp:
2094
+ title: DateTime
2095
+ type: string
2096
+ pattern: '^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$'
2097
+ description: 'The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC).'
2098
+ example: '2016-05-24T08:38:08.699-04:00'
2099
+ transactionRequestState:
2100
+ $ref: '#/paths/~1thirdpartyRequests~1transactions~1%7BID%7D/put/requestBody/content/application~1json/schema/properties/transactionRequestState'
2101
+ transactionState:
2102
+ title: TransactionState
2103
+ type: string
2104
+ enum:
2105
+ - RECEIVED
2106
+ - PENDING
2107
+ - COMPLETED
2108
+ - REJECTED
2109
+ description: |-
2110
+ Below are the allowed values for the enumeration.
2111
+ - RECEIVED - Payee FSP has received the transaction from the Payer FSP.
2112
+ - PENDING - Payee FSP has validated the transaction.
2113
+ - COMPLETED - Payee FSP has successfully performed the transaction.
2114
+ - REJECTED - Payee FSP has failed to perform the transaction.
2115
+ example: RECEIVED
2116
+ required:
2117
+ - transactionRequestState
2118
+ - transactionState
2119
+ example:
2120
+ transactionRequestState: ACCEPTED
2121
+ transactionState: COMMITTED
2122
+ responses:
2123
+ '200':
2124
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/responses/200'
2125
+ '400':
2126
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400'
2127
+ '401':
2128
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/401'
2129
+ '403':
2130
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/403'
2131
+ '404':
2132
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/404'
2133
+ '405':
2134
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/405'
2135
+ '406':
2136
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/406'
2137
+ '501':
2138
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/501'
2139
+ '503':
2140
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/503'
2141
+ '/thirdpartyRequests/transactions/{ID}/error':
2142
+ parameters:
2143
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/1'
2144
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/2'
2145
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/3'
2146
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/4'
2147
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/5'
2148
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/6'
2149
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/7'
2150
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/8'
2151
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/9'
2152
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/10'
2153
+ put:
2154
+ tags:
2155
+ - thirdpartyRequests
2156
+ - sampled
2157
+ operationId: ThirdpartyTransactionRequestsError
2158
+ summary: ThirdpartyTransactionRequestsError
2159
+ description: |
2160
+ If the server is unable to find the transaction request, or another processing error occurs,
2161
+ the error callback `PUT /thirdpartyRequests/transactions/{ID}/error` is used.
2162
+ The `{ID}` in the URI should contain the `transactionRequestId` that was used for the creation of
2163
+ the thirdparty transaction request.
2164
+ parameters:
2165
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/parameters/0'
2166
+ requestBody:
2167
+ description: Error information returned.
2168
+ required: true
2169
+ content:
2170
+ application/json:
2171
+ schema:
2172
+ $ref: '#/paths/~1accounts~1%7BID%7D~1error/put/requestBody/content/application~1json/schema'
2173
+ responses:
2174
+ '200':
2175
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/responses/200'
2176
+ '400':
2177
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400'
2178
+ '401':
2179
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/401'
2180
+ '403':
2181
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/403'
2182
+ '404':
2183
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/404'
2184
+ '405':
2185
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/405'
2186
+ '406':
2187
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/406'
2188
+ '501':
2189
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/501'
2190
+ '503':
2191
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/503'
2192
+ '/parties/{Type}/{ID}':
2193
+ parameters:
2194
+ - name: Type
2195
+ in: path
2196
+ required: true
2197
+ schema:
2198
+ type: string
2199
+ description: 'The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`.'
2200
+ - name: ID
2201
+ in: path
2202
+ required: true
2203
+ schema:
2204
+ type: string
2205
+ description: The identifier value.
2206
+ - name: Content-Type
2207
+ in: header
2208
+ schema:
2209
+ type: string
2210
+ required: true
2211
+ description: The `Content-Type` header indicates the specific version of the API used to send the payload body.
2212
+ - name: Date
2213
+ in: header
2214
+ schema:
2215
+ type: string
2216
+ required: true
2217
+ description: The `Date` header field indicates the date when the request was sent.
2218
+ - name: X-Forwarded-For
2219
+ in: header
2220
+ schema:
2221
+ type: string
2222
+ required: false
2223
+ description: |-
2224
+ The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API.
2225
+
2226
+ **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`.
2227
+ - name: FSPIOP-Source
2228
+ in: header
2229
+ schema:
2230
+ type: string
2231
+ required: true
2232
+ description: The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`).
2233
+ - name: FSPIOP-Destination
2234
+ in: header
2235
+ schema:
2236
+ type: string
2237
+ required: false
2238
+ description: 'The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty.'
2239
+ - name: FSPIOP-Encryption
2240
+ in: header
2241
+ schema:
2242
+ type: string
2243
+ required: false
2244
+ description: The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request.
2245
+ - name: FSPIOP-Signature
2246
+ in: header
2247
+ schema:
2248
+ type: string
2249
+ required: false
2250
+ description: The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature.
2251
+ - name: FSPIOP-URI
2252
+ in: header
2253
+ schema:
2254
+ type: string
2255
+ required: false
2256
+ description: 'The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set).'
2257
+ - name: FSPIOP-HTTP-Method
2258
+ in: header
2259
+ schema:
2260
+ type: string
2261
+ required: false
2262
+ description: 'The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set).'
2263
+ get:
2264
+ description: 'The HTTP request `GET /parties/{Type}/{ID}` (or `GET /parties/{Type}/{ID}/{SubId}`) is used to look up information regarding the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}` (for example, `GET /parties/MSISDN/123456789`, or `GET /parties/BUSINESS/shoecompany/employee1`).'
2265
+ summary: Look up party information
2266
+ tags:
2267
+ - parties
2268
+ operationId: PartiesByTypeAndID
2269
+ parameters:
2270
+ - name: Accept
2271
+ in: header
2272
+ required: true
2273
+ schema:
2274
+ type: string
2275
+ description: The `Accept` header field indicates the version of the API the client would like the server to use.
2276
+ responses:
2277
+ '202':
2278
+ description: Accepted
2279
+ '400':
2280
+ description: Bad Request
2281
+ content:
2282
+ application/json:
2283
+ schema:
2284
+ title: ErrorInformationResponse
2285
+ type: object
2286
+ description: Data model for the complex type object that contains an optional element ErrorInformation used along with 4xx and 5xx responses.
2287
+ properties:
2288
+ errorInformation:
2289
+ $ref: '#/paths/~1accounts~1%7BID%7D~1error/put/requestBody/content/application~1json/schema/properties/errorInformation'
2290
+ headers:
2291
+ Content-Length:
2292
+ required: false
2293
+ schema:
2294
+ type: integer
2295
+ description: |-
2296
+ The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body.
2297
+
2298
+ **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes).
2299
+ Content-Type:
2300
+ schema:
2301
+ type: string
2302
+ required: true
2303
+ description: The `Content-Type` header indicates the specific version of the API used to send the payload body.
2304
+ '401':
2305
+ description: Unauthorized
2306
+ content:
2307
+ application/json:
2308
+ schema:
2309
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400/content/application~1json/schema'
2310
+ headers:
2311
+ Content-Length:
2312
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400/headers/Content-Length'
2313
+ Content-Type:
2314
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400/headers/Content-Type'
2315
+ '403':
2316
+ description: Forbidden
2317
+ content:
2318
+ application/json:
2319
+ schema:
2320
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400/content/application~1json/schema'
2321
+ headers:
2322
+ Content-Length:
2323
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400/headers/Content-Length'
2324
+ Content-Type:
2325
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400/headers/Content-Type'
2326
+ '404':
2327
+ description: Not Found
2328
+ content:
2329
+ application/json:
2330
+ schema:
2331
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400/content/application~1json/schema'
2332
+ headers:
2333
+ Content-Length:
2334
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400/headers/Content-Length'
2335
+ Content-Type:
2336
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400/headers/Content-Type'
2337
+ '405':
2338
+ description: Method Not Allowed
2339
+ content:
2340
+ application/json:
2341
+ schema:
2342
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400/content/application~1json/schema'
2343
+ headers:
2344
+ Content-Length:
2345
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400/headers/Content-Length'
2346
+ Content-Type:
2347
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400/headers/Content-Type'
2348
+ '406':
2349
+ description: Not Acceptable
2350
+ content:
2351
+ application/json:
2352
+ schema:
2353
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400/content/application~1json/schema'
2354
+ headers:
2355
+ Content-Length:
2356
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400/headers/Content-Length'
2357
+ Content-Type:
2358
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400/headers/Content-Type'
2359
+ '501':
2360
+ description: Not Implemented
2361
+ content:
2362
+ application/json:
2363
+ schema:
2364
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400/content/application~1json/schema'
2365
+ headers:
2366
+ Content-Length:
2367
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400/headers/Content-Length'
2368
+ Content-Type:
2369
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400/headers/Content-Type'
2370
+ '503':
2371
+ description: Service Unavailable
2372
+ content:
2373
+ application/json:
2374
+ schema:
2375
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400/content/application~1json/schema'
2376
+ headers:
2377
+ Content-Length:
2378
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400/headers/Content-Length'
2379
+ Content-Type:
2380
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400/headers/Content-Type'
2381
+ put:
2382
+ description: 'The callback `PUT /parties/{Type}/{ID}` (or `PUT /parties/{Type}/{ID}/{SubId}`) is used to inform the client of a successful result of the Party information lookup.'
2383
+ summary: Return party information
2384
+ tags:
2385
+ - parties
2386
+ operationId: PartiesByTypeAndID2
2387
+ parameters:
2388
+ - name: Content-Length
2389
+ in: header
2390
+ required: false
2391
+ schema:
2392
+ type: integer
2393
+ description: |-
2394
+ The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body.
2395
+
2396
+ **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes).
2397
+ requestBody:
2398
+ description: Party information returned.
2399
+ required: true
2400
+ content:
2401
+ application/json:
2402
+ schema:
2403
+ title: PartiesTypeIDPutResponse
2404
+ type: object
2405
+ description: 'The object sent in the PUT /parties/{Type}/{ID} callback.'
2406
+ properties:
2407
+ party:
2408
+ title: Party
2409
+ type: object
2410
+ description: Data model for the complex type Party.
2411
+ properties:
2412
+ partyIdInfo:
2413
+ title: PartyIdInfo
2414
+ type: object
2415
+ description: Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1
2416
+ properties:
2417
+ partyIdType:
2418
+ title: PartyIdType
2419
+ type: string
2420
+ enum:
2421
+ - MSISDN
2422
+ - EMAIL
2423
+ - PERSONAL_ID
2424
+ - BUSINESS
2425
+ - DEVICE
2426
+ - ACCOUNT_ID
2427
+ - IBAN
2428
+ - ALIAS
2429
+ description: |-
2430
+ Below are the allowed values for the enumeration.
2431
+ - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.
2432
+ - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).
2433
+ - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.
2434
+ - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.
2435
+ - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.
2436
+ - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.
2437
+ - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.
2438
+ - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier.
2439
+ partyIdentifier:
2440
+ $ref: '#/paths/~1thirdpartyRequests~1transactions/post/requestBody/content/application~1json/schema/properties/payer/allOf/0/properties/partyIdentifier'
2441
+ partySubIdOrType:
2442
+ $ref: '#/paths/~1thirdpartyRequests~1transactions/post/requestBody/content/application~1json/schema/properties/payer/allOf/0/properties/partySubIdOrType'
2443
+ fspId:
2444
+ $ref: '#/paths/~1services~1%7BServiceType%7D/put/requestBody/content/application~1json/schema/properties/providers/items'
2445
+ extensionList:
2446
+ $ref: '#/paths/~1thirdpartyRequests~1authorizations/post/requestBody/content/application~1json/schema/properties/extensionList'
2447
+ required:
2448
+ - partyIdType
2449
+ - partyIdentifier
2450
+ merchantClassificationCode:
2451
+ title: MerchantClassificationCode
2452
+ type: string
2453
+ pattern: '^[\d]{1,4}$'
2454
+ description: 'A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc.'
2455
+ name:
2456
+ title: PartyName
2457
+ type: string
2458
+ minLength: 1
2459
+ maxLength: 128
2460
+ description: Name of the Party. Could be a real name or a nickname.
2461
+ personalInfo:
2462
+ title: PartyPersonalInfo
2463
+ type: object
2464
+ description: Data model for the complex type PartyPersonalInfo.
2465
+ properties:
2466
+ complexName:
2467
+ title: PartyComplexName
2468
+ type: object
2469
+ description: Data model for the complex type PartyComplexName.
2470
+ properties:
2471
+ firstName:
2472
+ title: FirstName
2473
+ type: string
2474
+ minLength: 1
2475
+ maxLength: 128
2476
+ pattern: '^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} .,''''-]{1,128}$'
2477
+ description: First name of the Party (Name Type).
2478
+ example: Henrik
2479
+ middleName:
2480
+ title: MiddleName
2481
+ type: string
2482
+ minLength: 1
2483
+ maxLength: 128
2484
+ pattern: '^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} .,''''-]{1,128}$'
2485
+ description: Middle name of the Party (Name Type).
2486
+ example: Johannes
2487
+ lastName:
2488
+ title: LastName
2489
+ type: string
2490
+ minLength: 1
2491
+ maxLength: 128
2492
+ pattern: '^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} .,''''-]{1,128}$'
2493
+ description: Last name of the Party (Name Type).
2494
+ example: Karlsson
2495
+ dateOfBirth:
2496
+ title: DateofBirth (type Date)
2497
+ type: string
2498
+ pattern: '^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$'
2499
+ description: Date of Birth of the Party.
2500
+ example: '1966-06-16'
2501
+ required:
2502
+ - partyIdInfo
2503
+ required:
2504
+ - party
2505
+ responses:
2506
+ '200':
2507
+ description: OK
2508
+ '400':
2509
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400'
2510
+ '401':
2511
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/401'
2512
+ '403':
2513
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/403'
2514
+ '404':
2515
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/404'
2516
+ '405':
2517
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/405'
2518
+ '406':
2519
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/406'
2520
+ '501':
2521
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/501'
2522
+ '503':
2523
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/503'
2524
+ '/parties/{Type}/{ID}/error':
2525
+ put:
2526
+ description: 'If the server is unable to find Party information of the provided identity, or another processing error occurred, the error callback `PUT /parties/{Type}/{ID}/error` (or `PUT /parties/{Type}/{ID}/{SubI}/error`) is used.'
2527
+ summary: Return party information error
2528
+ tags:
2529
+ - parties
2530
+ operationId: PartiesErrorByTypeAndID
2531
+ parameters:
2532
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/0'
2533
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/1'
2534
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/parameters/0'
2535
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/2'
2536
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/3'
2537
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/4'
2538
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/5'
2539
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/6'
2540
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/7'
2541
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/8'
2542
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/9'
2543
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/10'
2544
+ requestBody:
2545
+ description: Details of the error returned.
2546
+ required: true
2547
+ content:
2548
+ application/json:
2549
+ schema:
2550
+ $ref: '#/paths/~1accounts~1%7BID%7D~1error/put/requestBody/content/application~1json/schema'
2551
+ responses:
2552
+ '200':
2553
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/responses/200'
2554
+ '400':
2555
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400'
2556
+ '401':
2557
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/401'
2558
+ '403':
2559
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/403'
2560
+ '404':
2561
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/404'
2562
+ '405':
2563
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/405'
2564
+ '406':
2565
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/406'
2566
+ '501':
2567
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/501'
2568
+ '503':
2569
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/503'
2570
+ '/parties/{Type}/{ID}/{SubId}':
2571
+ parameters:
2572
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/0'
2573
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/1'
2574
+ - name: SubId
2575
+ in: path
2576
+ required: true
2577
+ schema:
2578
+ type: string
2579
+ description: 'A sub-identifier of the party identifier, or a sub-type of the party identifier''s type. For example, `PASSPORT`, `DRIVING_LICENSE`.'
2580
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/2'
2581
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/3'
2582
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/4'
2583
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/5'
2584
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/6'
2585
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/7'
2586
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/8'
2587
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/9'
2588
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/10'
2589
+ get:
2590
+ description: 'The HTTP request `GET /parties/{Type}/{ID}` (or `GET /parties/{Type}/{ID}/{SubId}`) is used to look up information regarding the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}` (for example, `GET /parties/MSISDN/123456789`, or `GET /parties/BUSINESS/shoecompany/employee1`).'
2591
+ summary: Look up party information
2592
+ tags:
2593
+ - parties
2594
+ operationId: PartiesSubIdByTypeAndID
2595
+ parameters:
2596
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/parameters/0'
2597
+ responses:
2598
+ '202':
2599
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/202'
2600
+ '400':
2601
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400'
2602
+ '401':
2603
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/401'
2604
+ '403':
2605
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/403'
2606
+ '404':
2607
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/404'
2608
+ '405':
2609
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/405'
2610
+ '406':
2611
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/406'
2612
+ '501':
2613
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/501'
2614
+ '503':
2615
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/503'
2616
+ put:
2617
+ description: 'The callback `PUT /parties/{Type}/{ID}` (or `PUT /parties/{Type}/{ID}/{SubId}`) is used to inform the client of a successful result of the Party information lookup.'
2618
+ summary: Return party information
2619
+ tags:
2620
+ - parties
2621
+ operationId: PartiesSubIdByTypeAndIDPut
2622
+ parameters:
2623
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/parameters/0'
2624
+ requestBody:
2625
+ description: Party information returned.
2626
+ required: true
2627
+ content:
2628
+ application/json:
2629
+ schema:
2630
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/requestBody/content/application~1json/schema'
2631
+ responses:
2632
+ '200':
2633
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/responses/200'
2634
+ '400':
2635
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400'
2636
+ '401':
2637
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/401'
2638
+ '403':
2639
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/403'
2640
+ '404':
2641
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/404'
2642
+ '405':
2643
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/405'
2644
+ '406':
2645
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/406'
2646
+ '501':
2647
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/501'
2648
+ '503':
2649
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/503'
2650
+ '/parties/{Type}/{ID}/{SubId}/error':
2651
+ put:
2652
+ description: 'If the server is unable to find Party information of the provided identity, or another processing error occurred, the error callback `PUT /parties/{Type}/{ID}/error` (or `PUT /parties/{Type}/{ID}/{SubId}/error`) is used.'
2653
+ summary: Return party information error
2654
+ tags:
2655
+ - parties
2656
+ operationId: PartiesSubIdErrorByTypeAndID
2657
+ parameters:
2658
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/0'
2659
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/1'
2660
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D~1%7BSubId%7D/parameters/2'
2661
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/parameters/0'
2662
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/2'
2663
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/3'
2664
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/4'
2665
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/5'
2666
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/6'
2667
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/7'
2668
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/8'
2669
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/9'
2670
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/10'
2671
+ requestBody:
2672
+ description: Details of the error returned.
2673
+ required: true
2674
+ content:
2675
+ application/json:
2676
+ schema:
2677
+ $ref: '#/paths/~1accounts~1%7BID%7D~1error/put/requestBody/content/application~1json/schema'
2678
+ responses:
2679
+ '200':
2680
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/responses/200'
2681
+ '400':
2682
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400'
2683
+ '401':
2684
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/401'
2685
+ '403':
2686
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/403'
2687
+ '404':
2688
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/404'
2689
+ '405':
2690
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/405'
2691
+ '406':
2692
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/406'
2693
+ '501':
2694
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/501'
2695
+ '503':
2696
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/503'
2697
+ '/services/{ServiceType}':
2698
+ parameters:
2699
+ - name: ServiceType
2700
+ in: path
2701
+ required: true
2702
+ schema:
2703
+ type: string
2704
+ description: 'The type of the service identifier. For example, `THIRD_PARTY_DFSP`'
2705
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/2'
2706
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/3'
2707
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/4'
2708
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/5'
2709
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/6'
2710
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/7'
2711
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/8'
2712
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/9'
2713
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/10'
2714
+ get:
2715
+ operationId: GetServicesByServiceType
2716
+ summary: GetServicesByServiceType
2717
+ description: |
2718
+ The HTTP request `GET /services/{ServiceType}` is used to retrieve the list of participants
2719
+ that support a specified service.
2720
+ parameters:
2721
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/parameters/0'
2722
+ tags:
2723
+ - services
2724
+ - sampled
2725
+ responses:
2726
+ '202':
2727
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/202'
2728
+ '400':
2729
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400'
2730
+ '401':
2731
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/401'
2732
+ '403':
2733
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/403'
2734
+ '404':
2735
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/404'
2736
+ '405':
2737
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/405'
2738
+ '406':
2739
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/406'
2740
+ '501':
2741
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/501'
2742
+ '503':
2743
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/503'
2744
+ put:
2745
+ description: |
2746
+ The HTTP request `PUT /services/{ServiceType}` is used to return list of participants
2747
+ that support a specified service.
2748
+ operationId: PutServicesByServiceType
2749
+ summary: PutServicesByServiceType
2750
+ tags:
2751
+ - services
2752
+ - sampled
2753
+ parameters:
2754
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/parameters/0'
2755
+ requestBody:
2756
+ required: true
2757
+ content:
2758
+ application/json:
2759
+ schema:
2760
+ title: ServicesServiceTypePutResponse
2761
+ type: object
2762
+ description: 'The object sent in a `PUT /services/{ServiceType}` request.'
2763
+ properties:
2764
+ providers:
2765
+ type: array
2766
+ minLength: 0
2767
+ maxLength: 256
2768
+ items:
2769
+ title: FspId
2770
+ type: string
2771
+ minLength: 1
2772
+ maxLength: 32
2773
+ description: FSP identifier.
2774
+ required:
2775
+ - providers
2776
+ responses:
2777
+ '200':
2778
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/responses/200'
2779
+ '400':
2780
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400'
2781
+ '401':
2782
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/401'
2783
+ '403':
2784
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/403'
2785
+ '404':
2786
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/404'
2787
+ '405':
2788
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/405'
2789
+ '406':
2790
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/406'
2791
+ '501':
2792
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/501'
2793
+ '503':
2794
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/503'
2795
+ '/services/{ServiceType}/error':
2796
+ parameters:
2797
+ - $ref: '#/paths/~1services~1%7BServiceType%7D/parameters/0'
2798
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/2'
2799
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/3'
2800
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/4'
2801
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/5'
2802
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/6'
2803
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/7'
2804
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/8'
2805
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/9'
2806
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/parameters/10'
2807
+ put:
2808
+ description: |
2809
+ The HTTP request `PUT /services/{ServiceType}/error` is used to return error information
2810
+ operationId: PutServicesByServiceTypeAndError
2811
+ summary: PutServicesByServiceTypeAndError
2812
+ tags:
2813
+ - services
2814
+ - sampled
2815
+ parameters:
2816
+ - $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/parameters/0'
2817
+ requestBody:
2818
+ description: Details of the error returned.
2819
+ required: true
2820
+ content:
2821
+ application/json:
2822
+ schema:
2823
+ $ref: '#/paths/~1accounts~1%7BID%7D~1error/put/requestBody/content/application~1json/schema'
2824
+ responses:
2825
+ '200':
2826
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/put/responses/200'
2827
+ '400':
2828
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/400'
2829
+ '401':
2830
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/401'
2831
+ '403':
2832
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/403'
2833
+ '404':
2834
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/404'
2835
+ '405':
2836
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/405'
2837
+ '406':
2838
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/406'
2839
+ '501':
2840
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/501'
2841
+ '503':
2842
+ $ref: '#/paths/~1parties~1%7BType%7D~1%7BID%7D/get/responses/503'